我是Python新手,我正在通過閱讀「Head first Python」一書來學習它。當我嘗試打印嵌套列表時出現錯誤:
而我的疑問是,當我要打印嵌套列表,如圖書中
電影=「聖盃」,1975年我沒有得到正確的輸出, 「特里·瓊斯&特里·吉列姆」,91,[ 「格雷厄姆·查普曼」,[ 「邁克爾·佩林」, 「約翰·克里斯」, 「特里·吉列姆」, 「埃裏克空閒」, 「特里·瓊斯」]]]
- (在書中給出的代碼)
>>> for each_item in movies:
if isinstance(each_item, list):
for nested_item in each_item:
if isinstance(nested_item, list):
for deeper_item in nested_item:
print(deeper_item)
else:
print(nested_item)
else:
print(each_item)
- (在書中輸出)
The Holy Grail
1975
Terry Jones & Terry Gilliam
91
Graham Chapman
Michael Palin
John Cleese
Terry Gilliam
Eric Idle
Terry Jones
- (但我得到下面的輸出只)
Graham Chapman
Michael Palin
John Cleese
Terry Gilliam
Eric Idle
Terry Jones
['Graham Chapman', ['Michael Palin', 'John Cleese', 'Terry Gilliam', 'Eric Idle', 'Terry Jones']]
-
請幫幫我,我有t我可以想到的一切。提前致謝。
即使你不知道這是「列表展平」,這是學習Python的一個非常普遍的問題。奇怪的是,似乎只是出現在新手問題上;在教程之外,如果你不想要嵌套列表,爲什麼你要製作一個? – msw
我還沒有看到你提到的那本書,但我從來沒有必須永遠使用'isinstance',並且對於那些在Java中甚至沒有意義的反模式的新手都深感懷疑。 – msw