Ⅰ 二級python----組合數據類型(DAY 5)
1.集合類型概述
Python語言中的集合類型與數學中的集合概念一致,即包含0個或多個數據項的無序組合。
集合是無序組合,用大括弧{}表示,它沒有索引和位置的概念,集合中元素可以動態增加或刪除。
由於集合元素獨一無二,使用集合類型能夠過濾掉重復元素。
集合類型有4個操作符,交集&、並集|、差集-、補集^,操作邏輯與數學定義相同
集合類型有一些常用的操作函數或方法
set()函數將其他的組合數據類型變成集合類型,返回結果是一個無重復且排序任意的集合。set()函數也可以生成空集合變數。
列表類型用中括弧[]表示,也可以通過list(x)函數將集合或字元串類型轉換成列表類型。
列表屬於序列類型,所以列表類型支持序列類型對應的操作
1.序列類型有一些通用的操作符和函數
2.列表的索引
索引是列表的基本操作,用於獲得列表的一個元素。使用中括弧作為索引操作符。
可以使用遍歷循環對列表類型的元素進行遍歷操作,
基本使用方式如下
3.列表的切片
切片是列表的基本操作,用於獲得列表的一個片段,即獲得一個或多個元素。切片後的結果也是列表類型。
切片的使用方式:
切片獲取列表類型從N到M(不包含M)的元素組成新的列表。當K存在時,切片獲取列表類型從N到M(不包含M)以K為步長所對應元素組成的列表。
1.列表的操作方法
ls.append(x)僅用於在列表中增加一個元素,如果希望增加多個元素,可以使用加號+,將兩個列表合並。
可以使用Python保留字del對列表元素或片段進行刪除。
如下:
或
使用索引配合等號(=)可以對列表元素進行修改。
補:元組
Python的元組與列表類似,不同之處在於元組的元素不能修改。
元組使用小括弧(),列表使用方括弧。
元組創建很簡單,只需要在括弧中添加元素,並使用逗號隔開即可。
Python語言中的字典使用大括弧{}建立,每個元素是一個鍵值對。
使用方式:
鍵和值通過冒號連接,不同鍵值對通過逗號隔開。大括弧可以表示集合,字典類型也具有和集合類似的性質,即鍵值對之間沒有順序且不能重復。
•字典的索引
列表類型採用元素順序的位置進行索引。由於字典元素「鍵值對」中鍵是值的索引,因此,可以直接利用鍵值對關系索引元素。
利用索引和賦值 = 配合,可以對字典中每個元素進行修改。
使用大括弧可以創建字典。通過索引和賦值配合,可以向字典中增加元素。
字典類型有一些通用的操作函數
字典類型存在一些操作方法
d.keys()返回字典中的所有鍵信息,返回結果是Python的一種內部數據類型dict_keys,專用於表示字典的鍵。如果希望更好的使用返回結果,可以將其轉換為列表類型。
d.values()返回字典中的所有值信息,返回結果是Python的一種內部數據類型dict_values。如果希望更好的使用返回結果,可以將其轉換為列表類型。
d.items()返回字典中的所有鍵值對信息,返回結果是Python的一種內部數據類型dict_items。
d.get(key, default)根據鍵信息查找並返回值信息,如果key存在則返回相應值,否則返回默認值,第二個元素default可以省略,如果省略則默認值為空。
d.pop(key, default)根據鍵信息查找並取出值信息,如果key存在則返回相應值,否則返回默認值,第二個元素default可以省略,如果省略則默認值為空。相比d.get()方法,d.pop()在取出相應值後,將從字典中刪除對應的鍵值對。
d.popitem()隨機從字典中取出一個鍵值對,以元組(key,value)形式返回。取出後從字典中刪除這個鍵值對。
d.clear()刪除字典中所有鍵值對。
此外,如果希望刪除字典中某一個元素, 可以使用Python保留字del。
字典類型也支持保留字in,用來判斷一個鍵是否在字典中。如果在則返回True,否則返回False。
字典可以遍歷循環對其元素進行遍歷
for循環返回的變數名是字典的索引值。如果需要獲得鍵對應的值,可以在語句塊中通過get()方法獲得。
Ⅱ python列表的特點
列表的特點
1.list(列表)是python中使用最頻繁的數據類型,在其他的語言中通常叫做數組
2.專門用於存儲一串信息
3.列表用[]定義,列表中的數據用「,」分割
4.列表的索引是從0開始
列表的操作
假設列表名為list
Ⅲ python中集合的元素可以是列表嗎
集合的特點:無序,數據可變,數據不可重復,數據類型可不同,不可嵌套。集合最好的應用是去重和關系操作(交集、並集等)。集合沒有特殊的表示方法,而是通過一個set函數轉換成集合。
所以,集合的元素不可以是列表。
Ⅳ python集合的使用怎麼樣的
Python set 集合最常用的操作是向集合中添加、刪除元素,以及集合之間做交集、並集、差集等運算。
向set集合中添加元素
set 集合中添加元素,可以使用 set 類型提供的 add() 方法實現,該方法的語法格式為:
1
setname.add(element)
其中,setname 表示要添加元素的集合,element 表示要添加的元素內容。
需要注意的是,使用 add() 方法添加的元素,只能是數字、字元串、元組或者布爾類型(True 和 False)值,不能添加列表、字典、集合這類可變的數據,否則 Python 解釋器會報 TypeError 錯誤。例如:
1
2
3
4
5
a = {1,2,3}
a.add((1,2))
print(a)
a.add([1,2])
print(a)
運行結果為:
1
2
3
4
5
{(1, 2), 1, 2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.add([1,2])
TypeError: unhashable type: 'list'
從set集合中刪除元素
刪除現有 set 集合中的指定元素,可以使用 remove() 方法,該方法的語法格式如下:
1
setname.remove(element)
使用此方法刪除集合中元素,需要注意的是,如果被刪除元素本就不包含在集合中,則此方法會拋出 KeyError 錯誤,例如:
1
2
3
4
5
a = {1,2,3}
a.remove(1)
print(a)
a.remove(1)
print(a)
運行結果為:
1
2
3
4
5
{2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in
a.remove(1)
KeyError: 1
Ⅳ Python里 列表,字典、集合、元祖四個基本結構的特點
1.列表:每個元素數據類型不限,通過索引訪問;
2.字典:鍵值對的形式,鍵唯一,值的數據類型不限;
3.集合:元素不可重復,不能通過索引訪問;
4.元組:與列表同,區別是元素創建就不可修改
Ⅵ Python3的元組,字典,列表,集合有什麼聯系和區別
4個都是python的數據結構。
元組和列表的底層實現是一樣的,本質都是把一堆東西放在一排,區別在於元祖放完後就不能改了。
你把字典理解成我們普通用的字典就可以了,而集合就是把字典的所有value都設置成None。字典和集合的底層實現原理是一樣的,但初學者不必關注這個原理。集合與數學中的集合有相同性質,比如唯一性,對比字典中key的唯一性來理解一下。
比方:你遇到一個沒見過的字,查查看是不是標準的漢字,這就是集合的作用,集合只關注有沒有的問題;如果是標准漢字,你要看看這個字的意思,這就是字典的作用;你現在找來一個漢字,打算組成成語,然後再找幾個字,向第一個漢字左右放,就是列表的作用;一旦發現一個成語,就固定不變了,字和字的排列都不能改,這就是元祖。
Ⅶ python集合元素重不重復
不重復!!!
集合定義:
集合set,是一個無序的不重復元素序列。
創建:
可以使用大括弧{}或者set()函數創建集合。
注意:創建一個空集合必察歷攜須用set()而不是{},因為{}是用來創建一個空字典。
格式:敗伏
parame = {value01,value02,…}
或者
set(value)
舉例:
jihe = {1,2,3,4,5}
#與字典看上去類似爛液,但是是不一樣的。字典是dict1 = {key:value,key2:value2,}需要key
添加元素:
使用set.add()方法
例:
set1 = {1,3}
set1.add(2)print(set1)
Ⅷ python集合的作用有哪些
集合可以像元組一樣,設置不可改變的類型;也可以默認像字典,列表一樣,可以迭代改變;同時集合里的元素可以是列表,元組,字典。
1、python集合的作用——創建字典
可使用大括弧 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
>>> my_set = set(('apple',))
>>> my_set
{'apple'}
2、python集合的作用——添加元素(add(),update())
# add 作為一個整體添加到集合中
my_set = set()
my_set.add("abc")
print(my_set)
#update 是把要傳入的元素拆分,做為個體傳入到集合中
my_set = set()
my_set.update("abc")
print(my_set)
3、python集合的作用——刪除元素(remove(),pop(),discard())
#remove 如果集合種有,則直接刪除;如果沒有,程序報錯 格式:集合名.remove(元素)
my_set = {11, 13, 15}
my_set.remove(13)
print(my_set) my_set.remove(131)
print(my_set)
#pop 隨機刪除集合中的元素 如果集合中沒有元素則程序報錯
my_set = {11, 13, 15}
my_set.pop()
print(my_set)
#discard 如果集合中元素存在,直接刪除; 如果元素不存在 不做任何操作 格式: 集合名.discard(元素)
my_set = {11, 13, 15}
my_set.discard(13)
print(my_set)
my_set.discard(131)
print(my_set)
4、python集合的作用——交集( & )
set1 = {9, 2, 3, 4}
set2 = {3, 4, 5, 16}
new_set = set1 & set2
print(new_set)
# result {3, 4}
5、python集合的作用——並集( | )
set1 = {1, 2, 3, 4}
set2 = {3, 5, 5, 6}[page]
new_set = set1 | set2
print(new_set)
# result {1, 2, 3, 4, 5, 6}
6、python集合的作用——差集(-)
項在前一個集合中,但不在後一個集合中。
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 - set2
print(new_set)
# result {1, 2}
7、python集合的作用——對稱差集( ^ )
即項在前一個集合或後一個集合中,但不會同時出現在二者中。即交集減去並集。
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 ^ set2
print(new_set)
# result {1,2,5,6}
8、python集合的作用——子集判斷
set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判斷set1是否是set2的子集
print(set1.issubset(set2))
# result True
9、python集合的作用——父集判斷
set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判斷set1是否是set2的父集
print(set1.issuperset(set2))
# result False
10、python集合的作用——迭代和枚舉
s={34,56,76,34,56,54,43,23,56}
for i in s:
print(i) ##迭代輸出其內容
for i,v in enumerate(s):
print('index: %s,value: %s' %(i,v))
"""
result:
index: 0,value: 34
index: 1,value: 43
index: 2,value: 76
index: 3,value: 54
index: 4,value: 23
index: 5,value: 56
"""
可觀察出,集合會自動過濾掉相同元素。
python集合的作用都有哪些?原來這些功能才是最實用的,集合可以像元組一樣,設置不可改變的類型;也可以默認像字典,列表一樣,可以迭代改變;同時集合里的元素可以是列表,元組,字典,你能處理好嗎?如果您還擔心自己入門不順利,可以點擊本站的其他文章進行學習。
Ⅸ 集合的特徵
集合的特徵是:確定性、互異性、無序性。
1、確定性:給定一個集合,那麼任何一個元素是否在集合中就確定了。
2、互異性:集合中的元素互不相同。
3、無序性:集合中的元素沒有順序,順序不同但元素相睜穗或同的集合可視為同一集合。
Python集合與數學中的集合概念一致,也具備以上3個特性。Python要求放入集合中的元素必須是不可變類型,Python中的整型、浮點型、字元串類型和元組屬於不可變類型,列表、字典及集合本身都屬於可變的數據類型。
對於所有的數據類型而言,它們只要能進行哈希運算,就可以作為集合中的元素出現。
哈希(hash,散列)演算法是將任意長度的二進制值映射族清為固定長度的較小二進制值,這個小的二進制值稱為哈希值。
哈希值是原數據唯一且極其緊湊的數值表示形式,哪怕只更改原數據的一個字母,再次散列後產生的都是不同的值。若要找到散列為同一個值的兩個不同的輸入悉伍,在計算上是不可能的,所以數據的哈希值可以檢驗數據的完整性。