我正在阅读自动化python并正在阅读有关多重分配技巧的内容,所以我决定在终端中尝试一下。制作一个空列表并尝试使用它进行更新,但是当我再次打印出列表时它不起作用。
>>>> cat = ['fat', 'orange', 'loud']
>>>> print(cat)
>>>> ['fat', 'orange', 'loud']
>>>> size, color, disposition = cat
>>>> print(cat)
>>>> ['fat', 'orange', 'loud']
此时我认为第4行会更新列表'cat'中的值,但是当我打印出来时它不会。如果我输入
>>>> size in cat
True
如果我输入'orange in cat',我会得到NameError: name orange is not defined
,当打印出新列表时,有什么理由让我看不到值的更新?
答案 0 :(得分:0)
如果您执行orange in cat
,则会获得NameError
,因为orange
不是变量。你需要这样做:
'orange' in cat # check as string
OR
color in cat # check with variable storing 'orange'
因为color
变量存储了橙色的值。 (类似于你在问题中对size
所做的事情)