如何将这个二维列表转换为一维列表?(在python中)



我写了一个程序,我希望输出是:(5、1、2、3、4)

谁能告诉我怎么做这个转换?因为我现在的输出是这样的==>>[5, [1, 2, 3, 4]]

你的输入是什么??

我想这样子:=[5,[1、2、3、4]]

这是我的解

a = [5, [1, 2, 3, 4]]
tmp = []
for x in a:
if isinstance(x, list):
for y in x:
tmp.append(y)
else:
tmp.append(x)
print(tmp)
a = [5, [1, 2, 3, 4]]
print([a[0]]+a[1])

简单的问题,你可以将两个数组组合在一起形成一个新的数组。我们只需要提取数组的一部分并将它们组合起来就可以解决这个问题。

您可以尝试这样做。

a = [5, [1, 2, 3, 4]]
new_arr = []
for i in a:
try: #If not an array, goes to except and appends integer
for j in i: #Loops through elements in array
new_arr.append(j)
except:
new_arr.append(i)
print(new_arr)

更实用的方法是:

>>> a = [5, [1, 2, 3, 4]]
>>> f = lambda x : x if type(x) == list else [x]
>>> [elem for l in a for elem in f(l)]
[5, 1, 2, 3, 4]

最新更新