关于python:连接两个列表

Concatenating two lists

我有一个列表,如下所示(我希望我说的是正确的列表):

1
['[175', '178', '182', '172', '167', '164]',"['b']"]

如何连接这两个列表?也就是说,列表如下:

1
[175, 178, 182, 172, 167, 164, b]

有什么想法吗?

谢谢。


首先,请注意,这不是一个列表列表,而是一个字符串列表,当连接时,它可能看起来像一个或多个(嵌套)列表,特别是第一个和最后一个元素中的[]。因此,可以将这些字符串与,连接到实际表示一对或一组列表的字符串,然后将这些字符串与evalast.literal_eval连接起来。然后使用列表理解将实际的列表变平。

1
2
3
4
5
6
7
8
9
10
>>> lst = ['[175', '178', '182', '172', '167', '164]',"['b']"]

>>> ','.join(lst)
"[175,178,182,172,167,164],['b']"

>>> ast.literal_eval(','.join(lst))
([175, 178, 182, 172, 167, 164], ['b'])

>>> [x for sub in ast.literal_eval(','.join(lst)) for x in sub]
[175, 178, 182, 172, 167, 164, 'b']


列表连接使用+所以…

1
2
3
4
lsts = ['[175', '178', '182', '172', '167', '164]',"['b']"]
new_lsts = []
for i in lsts:
  new_lsts += i

同样,这个类似的问题也在这里被问过很多次。

在这里

这里

可能还有几次


在python中,可以使用+来concat它们:

1
2
3
4
a = [2,5,6]
b = [6,1,4]
c = a+b
print(c)