python 不可變集合

2021-09-29 21:36:10 字數 1008 閱讀 6065

對應於元組(tuple)與列表(list)的關係,對於集合(set),python提供了一種叫做不可變集合(frozen set)的資料結構。

使用frozenset來進行建立:

in [1]:

s = frozenset([1, 2, 3, 'a', 1])

s

out[1]:

frozenset()
與集合不同的是,不可變集合一旦建立就不可以改變。

不可變集合的乙個主要應用是用來作為字典的鍵,例如用乙個字典來記錄兩個城市之間的距離:

in [2]:

flight_distance = {}

city_pair = frozenset(['los angeles', 'new york'])

flight_distance[city_pair] = 2498

flight_distance[frozenset(['austin', 'los angeles'])] = 1233

flight_distance[frozenset(['austin', 'new york'])] = 1515

flight_distance

out[2]:

): 1515,

frozenset(): 1233,

frozenset(): 2498}

由於集合不分順序,所以不同順序不會影響查閱結果:

in [3]:

flight_distance[frozenset(['new york','austin'])]
out[3]:

1515
in [4]:

flight_distance[frozenset(['austin','new york'])]
out[4]:

1515

set 集合 不可變集合

集合 如何建立乙個集合 直接把一堆元素用大括號括起來 使用set 工廠函式,例 set1 set 1,2,3,4,5,5 set1 num1 type num1 集合裡的引數是唯一的,重複的元素會被剔除,集合裡面的元素位置是隨機的,所以無法用索引查詢想要的引數 num1 num1 例子 目的 去除重...

18 可變和不可變集合

對可變集合中資料的增刪改之後會返回乙個新的集合 def main args array string unit object scala02array println s array 1 for s array array.foreach s println s s foreach表示對array中...

Scala的可變集合和不可變集合

scala 的集合有三大類 序列 seq 集 set 對映 map,所有的集合都擴充套件自 iterable 特質 在 scala 中集合有可變 mutable 和不可變 immutable 兩種型別,immutable 型別的集合 初始化後就不能改變了 注意與 val 修飾的變數進行區別 scal...