python集合是有序的吗_python set有序吗
Python的set是一個無序且無重復元素的集合,概念上相當于數學上的無序集,數據結構上相當于dict的鍵。
既然set是集合,則必然可以實現并、交、差、對稱差等集合運算。
set是一組無序排列的可哈希的值,因此可以用作字典中的鍵。set和之前介紹的list、tuple、dict等一樣,可以使用in操作符檢查元素是否在集合中存在,使用len()求得集合元素的個數,使用for循環迭代其成員,使用copy()返回一個淺復制。不同之處在于集合本身無序,所以沒有索引,就不能實現索引和切片操作。
相關推薦:《Python相關教程》
set具有以下特性:
·元素不重復出現
·元素必須是不可變對象
你可以把set當作是dict中的鍵來理解,當然僅僅限于數據結構層面。
在Python中set的底層結構和字典是完全一樣的都是哈希表,就當成是只有鍵沒有值的字典就可以了。
Python 早期版本就沒有set這個類型,那時候開發者都是直接建一個 {key1:None, key2:None}的字典來實現set的功能。
字典和set都是用空間來換時間,空間浪費很大。
set的最大用途是解決了判斷某個元素在集合中出現的查找效率問題。>>>?timeit.timeit(stmt='10**4?in?s',setup='s=range(10**5)',?number=10**5)
13.447274759909192
>>>?timeit.timeit(stmt='10**4?in?s',setup='s=set(xrange(10**5))',?number=10**5)
0.006686778187940945
>>>
list的實現方式是鏈表,空間利用率高追加元素快而方便。
總結
以上是生活随笔為你收集整理的python集合是有序的吗_python set有序吗的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: python跳回循环开始位置_如何回到p
- 下一篇: 三朵云 华为_云时代和5G将重构网络结构
