0

これが私のコードです

def printList(stringlist):
    empty = []
    if stringlist is None:
        print empty
    else:
        print stringlist

def add (stringlist, string):
    string = [] if string is None else string
    if stringlist is not None:
        stringlist.insert(0, string)
    else:
        stringlist.append(1)

どういうわけか「AttributeError: 'NoneType' オブジェクトに属性 'append' がありません」と表示されます

私はもともと、次のように実行されるコードを探していました。

>>> myList = None
>>> printList(myList)
[]
>>> for word in ['laundry','homework','cooking','cleaning']:
myList = add(myList, word)
printList(myList)
[laundry]
[homework, laundry]
[cooking, homework, laundry]
[cleaning, cooking, homework, laundry]
4

3 に答える 3

1
if stringlist is not None:
    stringlist.insert(0, string)
else:
    stringlist.append(1)

stringlistでない場合はNone何かを挿入しますが、ある場合None(else 節) はそれに何かを追加しています。None であるため、何かを追加することはできませstringlistん。

于 2013-10-28T04:52:43.810 に答える
1

appendオブジェクトからメソッドを呼び出そうとしていNoneます:

if stringlist is not None:
    stringlist.insert(0, string)
else:
    # stringlist is None
    # Well, let's append to it!
    stringlist.append(1) 
于 2013-10-28T04:52:43.623 に答える