列表和元組都可以存放任何型別的資料,列表可以含有其他的列表或元組,元組也可以含有其他的元組或列表。這叫巢狀序列。巢狀序列就是序列中有序列,它是組織複雜資訊的好辦法。
建立巢狀序列
巢狀列表或元組的建立方法跟普通列表或元組差不多:輸入各個元素,並以逗號隔開。區別在於巢狀序列的元素可以是整個列表或元組。
nested=["first",("second","third"),["fourth","fifth","sixth"]]
print(nested)
輸出:
雖然可以用任意數量的列表和元組來建立巢狀序列,但最好還是使用一致的模式。
scores=[("zhang",100),("wang",98),("li",78)]
print(scores)
輸出:
訪問巢狀元素
訪問巢狀序列中的元素跟訪問普通序列的一樣,都是用索引:
scores=[("zhang",100),("wang",98),("li",78)]
print(scores[0])
print(scores[0][0])
輸出:
序列的解包
如果已經知道序列中有多少個元素,就可以在一行**中將它們分別賦值給相應的變數:
name,score=("shemp",175)
print(name)
print(score)
輸出:
就就叫解包(unpacking),它對任何序列型別都有效。但是要記住,變數的數量要跟序列中的元素數量相等,否則就會產生錯誤。
Python 如何展開巢狀的序列
問題 你想將乙個多層巢狀的序列展開成乙個單層列表 解決方案 可以寫乙個包含 yield from 語句的遞迴生成器來輕鬆解決這個問題。比如 from collections import iterable 程式設計客棧def flatten items,ignore types str,bytes ...
python之序列 列表 迴圈巢狀
insert extend list1 1,2,3,4,5,6 list2 a b c d list3 1,chengdu list2 list1 tom jack chengdu shanghai list2 1,2,3,4,5,6,7 print list1 0 print list2 0 4 ...
Python 類的巢狀使用
建立三個學校且三個學校的設施內容等都是一致.class school object def init self,name,address self.name name self.address address def speech self print 講課 obj1 school 北京校區 美麗富...