这是我的代码:
wordlist = ['cat','dog','rabbit']
letterlist = [ ]
>>> print ( [letterlist.append(letter) for word in wordlist for letter in word if letter not in letterlist])
这是输出:
>>> [None, None, None, None, None, None, None, None, None]
为什么不打印出来:
>>> ['c', 'a', 't', 'd', 'o', 'g', 'r', 'b', 'i']
谢谢。
答案 0 :(得分:1)
嗯,append方法返回None
。它只修改有问题的列表。
这将有效:
wordlist = ['cat','dog','rabbit']
letterlist = [ ]
for word in wordlist:
for letter in word:
if letter not in letterlist:
letterlist.append(letter)
print(letterlist)
答案 1 :(得分:0)
将程序更改为:
wordlist = ['cat','dog','rabbit']
letterlist = []
letterlist = [letter for word in wordlist for letter in word if letter not in letterlist]
print (letterlist)
说明:
您可能会注意到,我们无需自己调用append
。 list-comprehension
进程本身通过隐式附加返回一个列表。
我已将list-comprehansion
和print
声明分开,以便更清晰。
阅读有关列表理解的更多信息,以便在将来的应用程序中使用它。它会
希望这有帮助。