如何获取列表列表?

时间:2016-04-23 04:49:50

标签: list python-3.x

我有这样的问题:

list = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]]

我希望得到一个像这样的新列表

new_list['a1','b1','c1','d1']

我喜欢这个:

lst = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]]
for item in lst:
   print(item)

结果是:

a1
['b1', 2]
['c1', 2, 3]
['d1', 2, 3, 4]

但我想要每个结果的第一个元素

最好的答案是这样的:

my_list = list()
lst = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]]
for element in lst:
if type(element)==type('string'):
    my_list.append(element)
else:
    my_list.append(element[0])
print(my_list)

谢谢!

2 个答案:

答案 0 :(得分:1)

执行以下操作:

>>> my_list = list()
>>> lst = ['a1',['b1',2],['c1',2,3],['d1',2,3,4]]
>>> for element in lst:
    if type(element)==type('string'):
        my_list.append(element)
    else:
        my_list.append(element[0])

它会产生:

>>> my_list
['a1', 'b1', 'c1', 'd1']
>>> 

如上所述,首先我创建了一个列表(名为my_list),然后检查了列表中的每个元素。如果元素是一个字符串,我将它添加到my_list,否则(即它是一个列表)我将它的第一个元素添加到my_list

答案 1 :(得分:0)

我愿意

res = []
for x in the_list:
    if x is Array:
        res.append(x[0])
    else:
        res.append(x)