Din*_*Din 3 python for-loop list
我遍历列表列表,当我将项目附加到数组时,它会单独添加每个字母,而不是整个单词,除非我删除'[]'..为什么会发生,只是好奇?例:
只是好奇知道为什么会出现这种情况
def printTable(lists):
for list in lists:
s = []
for item in list:
s += item
print(s)
print()
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
printTable(tableData)
Run Code Online (Sandbox Code Playgroud)
而不是将每个项目添加到列表中,它添加每个字母(同时删除列表数据类型,它通过字母添加它们除外)只是好奇为什么会发生这种情况.
而不是s += item
试试这个:
s.append(item)
Run Code Online (Sandbox Code Playgroud)
当你s += item
说它相当于s = s + item
,肯定s
是list并且item
是一个字符串,并且python字符串是可迭代的,所以这就是为什么它看起来像这样.
看下面的例子:
a = 'hi'
print(list(a))
['h', 'i']
Run Code Online (Sandbox Code Playgroud)
并且@roganjosh在评论中说:
请注意,使用
list
作为变量名称并不好,list
内置于python中.