将列表中的元组转换为列表

时间:2014-06-25 17:10:24

标签: python

我坚持这个非常基本的问题。如何将列表中的元组转换为列表。

例如,

[(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

3 个答案:

答案 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]