String 列表理解中的双精度语句
要列出所有单词中的所有字符,我们可以执行以下操作:String 列表理解中的双精度语句,string,python-3.x,list,list-comprehension,String,Python 3.x,List,List Comprehension,要列出所有单词中的所有字符,我们可以执行以下操作: wordlist = ['cat','dog','rabbit'] letterlist = [ ] 但是,当我尝试这样做时: letterlist = [word[i] for word in wordlist for i in range(len(word))] ['c', 'a', 't', 'd', 'o', 'g', 'r', 'a', 'b', 'b', 'i', 't'] 我得到一个错误: letterlist = [cha
wordlist = ['cat','dog','rabbit']
letterlist = [ ]
但是,当我尝试这样做时:
letterlist = [word[i] for word in wordlist for i in range(len(word))]
['c', 'a', 't', 'd', 'o', 'g', 'r', 'a', 'b', 'b', 'i', 't']
我得到一个错误:
letterlist = [character for character in word for word in wordlist]
有人能解释一下我在理解列表理解过程中的错误吗
谢谢。写作
NameError: name 'word' is not defined on line 9
与以下嵌套循环类似:
wordlist = ["cat", "dog", "rabbit"]
letterlist = [character for character in word for word in wordlist]
此循环将抛出与列表理解相同的错误,因为在将word
定义为wordlist
的元素之前,您试图引用word中的字符。你只要把订单倒过来就行了。请尝试以下操作:
wordlist = ["cat", "dog", "rabbit"]
letterlist = []
for character in word:
for word in wordlist:
letterlist.append(character)
@Kane在列表理解中,就像在普通嵌套循环中一样,必须首先指定外部循环。
letterlist = [character for word in wordlist for character in word]