python使用巢狀序列

2021-07-11 17:24:46 字數 925 閱讀 8785

列表和元組都可以存放任何型別的資料,列表可以含有其他的列表或元組,元組也可以含有其他的元組或列表。這叫巢狀序列。巢狀序列就是序列中有序列,它是組織複雜資訊的好辦法。

建立巢狀序列

巢狀列表或元組的建立方法跟普通列表或元組差不多:輸入各個元素,並以逗號隔開。區別在於巢狀序列的元素可以是整個列表或元組。

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 北京校區 美麗富...