[英]Python: TypeError: sequence item 0: expected str instance, NoneType found
[英]Python TypeError: sequence item 0: expected str instance, NoneType found
我從一本書中復制了以下代碼:
lyst = {'Hi':'Hello'}
def changeWord(sentence):
def getWord(word):
lyst.get(word, word)
return ''.join(map(getWord, sentence.split()))
我收到此錯誤:
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
cambiaPronome('ciao')
File "C:\Python33\2.py", line 6, in cambiaPronome
return ''.join(map(getWord, list(frase)))
TypeError: sequence item 0: expected str instance, NoneType found
怎么了?
getWord
函數不會顯式返回任何內容,因此它隱式返回None
。 嘗試返回一些東西,例如:
def getWord(word):
return lyst.get(word, word)
問題是您正在嘗試將類型為NoneType的字符串寫入。 那是不允許的。
如果您對獲取None
值感興趣,可以做的一件事情就是將它們轉換為字符串。
您可以通過列表理解來做到這一點,例如:
return ''.join([str(x) for x in map(getWord, sentence.split())])
但是在這種情況下,要正確執行此操作,您必須在內部函數上返回某些內容,否則就需要return None
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.