【发布时间】:2020-03-30 17:00:41
【问题描述】:
对不起这个问题,但我不明白为什么将一个元素添加到列表中作为列表本身添加到其他列表时,以下结果之间的差异:
list_a=[]
list_b=['HELLO','WORLD']
for word in list_b:
list_a.append([word])
print("Append to dist_list single word: ", list_a)
Output: Append to list_a: [['HELLO'], ['WORLD']]
list_a=[]
list_b=['HELLO','WORLD']
for word in list_b:
list_a.append(list(word))
print("Append to list_a: ", list_a)
output: Append to list_a: [['H', 'E', 'L', 'L', 'O'], ['W', 'O', 'R', 'L', 'D']]
【问题讨论】:
-
此结果中没有空格。区别在于
list(word)和[word]不是同一个意思。 -
list()接受迭代器,在list('HELLO')的情况下,您将获得单独字符的列表。在['HELLO']的情况下,您将获得包含一个字符串的列表。 -
是的。你为什么做这个?为什么不只是
list_a.append(word)? -
你在找
extend吗? -
对不起,我把标题写错了,每个字母都会成为列表中的一个元素,而不是整个单词都会成为一个元素。我这样做是因为我有一个过程之后需要一个列表列表。通常,结果是
[['Hello','world'],['Hola','mundo']],但有时我会得到[['Hello','World']],就像示例中一样。我正在添加到另一个列表以满足以下流程的要求。
标签: python list for-loop append