接受表示式的元組可以是巢狀式的,例如 (a, b, (c, d))。只要這個 接受元組的巢狀結構符合表示式本身的巢狀結構,python 就可以作出正 確的對應。
用巢狀元組來獲取經度:
metro_areas =[('tokyo
','jp
',36.933,(35.689722,139.691667)), #➊('
delhi ncr
', '
in', 21.935, (28.613889, 77.208889)),('
mexico city
', '
mx', 20.142, (19.433333, -99.133333)),('
new york-newark
', '
us', 20.104, (40.808611, -74.020386)),('
sao paulo
', '
br', 19.649, (-23.547778, -46.635833)),
]print('
| |
'.format('', '
lat.
', '
long.
')) # 格式化輸出, :後面表示條件 :15即表示占用15個長度字元位置 :^9表示占用9個字元長度,並居中
fmt = '
| |
' # .4f 表示取浮點數後四位
for name, cc, pop, (latitude, longitude) in metro_areas: #
➋if longitude <= 0: #
➌print(fmt.format(name, latitude, longitude))
❶ 每個元組內有 4 個元素,其中最後乙個元素是一對座標。
❷ 我們把輸入元組的最後乙個元素拆包到由變數構成的元組裡,這樣 就獲取了座標。
❸ if longitude <= 0: 這個條件判斷把輸出限制在西半球的城市。
output:
| lat. |long.mexico city | 19.4333 | -99.1333new york-newark | 40.8086 | -74.0204sao paul | -23.5478 | -46.6358
第2章 序列構成的陣列 元組 元組拆包 具名元組
拆包可以應用到任何可迭代物件上 str list等 唯一的硬性要求是,被可迭代物件中的元素數量必須要跟接受這些元素的元組的空檔數一致。除非我們用 來表示忽略多餘的元素 平行賦值拆包 完全拆包,左側變數必須和元組元素數量一致 平行賦值 city,year,pop,chg,area tokyo 2003...
Python namedtuple 具名元組
python中的tuple是乙個非常高效的集合物件,但是我們只能通過索引的方式訪問這個集合中的元素,比如下面的 bob bob 30,male print representation bob jane jane 29,female print field by index jane 0 for p...
具名元組 namedtuple
作用 命名元組賦予每個位置乙個含義,提供可讀性和自文件性。它們可以用於任何普通元組,並新增了通過名字獲取值的能力,通過索引值也是可以的。collections.namedtuple typename,field names,rename false,defaults none,module none...