Python:将一个列表中的字符串添加到第二个列表中,它们自己在列表中

2024-10-01 04:44:17 发布

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

我觉得我错过了一些基本的东西,但不管怎样:

我试图将一个列表中的元素(字符串)添加到第二个列表中,但我希望这些字符串位于列表中

例如,类似oldList = ['A1','B2','C3','D4']的内容中的元素应该导致newList = [['A1'],['B2'],['C3'],['D4']]

我尝试过类似以下代码:

newList = []
for item in oldList:
    newList.append(item)
print newList

输出oldList的精确副本

我也试过:

newList = []
for item in oldList:
    newList.append(list(item))
print newList

输出[['A','1'], ['B','2'], ['C','3'], ['D','4']]

那么,我到底错过了什么


Tags: 字符串in元素内容列表fora1item
1条回答
网友
1楼 · 发布于 2024-10-01 04:44:17

在iterable上使用list函数时,它将迭代该对象,并用该iterable的每个元素创建一个新列表

在你的例子中,字符串是可编辑的。因此,list迭代字符串并获取单个字符(Python中没有称为字符的东西,这只是为了我们的理解),然后将一个新列表放在一起

这就是为什么您的代码没有按预期工作。相反,您可以使用列表理解,如下所示

oldlist = ['A1','B2','C3','D4']
print [[item] for item in oldlist]
# [['A1'], ['B2'], ['C3'], ['D4']]

或者在您的程序中,不使用list,您可以使用list literal使字符串成为一个列表,如下所示

newList.append([item])

但是列表理解比list.append更适合于构建简单的新列表,就像您的例子一样

相关问题 更多 >