我坚持这个非常基本的问题。如何将列表中的元组转换为列表。
例如,
[(23,5,6,4)]=>[23,5,6,4]
这是一个非常基本的问题,&我用for循环完成了这个。但有更好的方法吗?
def make_list(item):
''' Helper for get_alert
'''
temp = []
for inst in item:
temp.append(inst)
return temp
答案 0 :(得分:6)
x = [(23,5,6,4)]
x = list(x[0])
print(x)
结果:
[23, 5, 6, 4]
答案 1 :(得分:3)
您可以尝试以下操作:
new = [item for sub in lst for item in sub]
运行如下:
>>> lst = [(2, 3, 4, 5)]
>>> new = [item for sub in lst for item in sub]
>>> new
[2, 3, 4, 5]
>>>
这使用嵌套for循环作为列表理解。以下是扩展形式:
lst = [(2, 3, 4, 5)]
new = []
for sub in lst:
for item in sub:
new.append(item)
运行方式:
>>> lst = [(2, 3, 4, 5)]
>>> new = []
>>> for sub in lst:
... for item in sub:
... new.append(item)
...
>>> new
[2, 3, 4, 5]
>>>
正如您所看到的,这两种方法的工作原理相同,只是列表理解更具有pythonic和效率。
答案 2 :(得分:1)
>>> x = [(23,5,6,4)]
>>> y = list(x[0])
>>> y
[23, 5, 6, 4]