将列表中的某些元素附加到另一个列表中

2024-05-16 23:49:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个嵌套列表,如下所示:

L = [['James', 'Bob', '23', '47'], ['Earl', 'Carl', '16', '43'], ['Milly', 'Wendy', '1', '21']]

我想把每个人的名字都记下来,然后把它们放到一个新的列表中,这个列表名为“newList”,不带数字。在

我尝试了以下代码:

^{pr2}$

然而,这只是打印了名字,每个字母用逗号隔开。我希望新的列表是这样的:

newList = ['James', 'Bob', 'Earl', 'Carl', 'Milly', 'Wendy']

Tags: 代码列表字母数字名字bob逗号james
3条回答

您需要迭代列表L中的元素

for i in L:
    newList.append(i[0])
    newList.append(i[1])
    #or simply newList.extend(i[:2])
print(newList)

编辑

^{pr2}$

您可以使用isdigit()筛选出名称

res = [j for i in L for j in i if not j.isdigit()]
['James', 'Bob', 'Earl', 'Carl', 'Milly', 'Wendy']

只需使用嵌套列表理解:

In [61]: [i for sub in L for i in sub[:2]]
Out[61]: ['James', 'Bob', 'Earl', 'Carl', 'Milly', 'Wendy']

相关问题 更多 >