我觉得我错过了一些基本的东西,但不管怎样:
我试图将一个列表中的元素(字符串)添加到第二个列表中,但我希望这些字符串位于列表中
例如,类似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']]
那么,我到底错过了什么
在iterable上使用
list
函数时,它将迭代该对象,并用该iterable的每个元素创建一个新列表在你的例子中,字符串是可编辑的。因此,
list
迭代字符串并获取单个字符(Python中没有称为字符的东西,这只是为了我们的理解),然后将一个新列表放在一起这就是为什么您的代码没有按预期工作。相反,您可以使用列表理解,如下所示
或者在您的程序中,不使用
list
,您可以使用list literal使字符串成为一个列表,如下所示但是列表理解比
list.append
更适合于构建简单的新列表,就像您的例子一样相关问题 更多 >
编程相关推荐