2017-11-30 13 views
-1

「NoneType」オブジェクトは、私は引数としてリストを受け入れ、関数呼び出し、中リストに要素を追加しようとした

def print_options(title, option_list): 
    print('\n' + title) 
    for index, elem in enumerate(option_list): 
     print(index, '-', elem) 

options = ['A', 'B', 'C'] 

print_options('Title', options.append('D')) 

を反復可能なされていないが、これは失敗しました

TypeError: 'NoneType' object is not iterable 

で上記の問題を解決するために

options.append('D') 
print_options('Title', options) 

を行う必要があります。それがなぜこのようにしなければならないのか不思議です。

答えて

2

appendが動作し、なしを返します。 Pythonのappend()関数がオブジェクト自体を変更するだけで何も返さないということを意味します。そのため、funciton呼び出しで直接使用することはできません。代わりにlist

2
>>> help(list.append) 
Help on method_descriptor: 

append(...) 
    L.append(object) -> None -- append object to end 

、あなたは、引数としてNoneを渡しています。

関連する問題