一文帶你手撕Python之散列類型
1.字典
思考:如果有多個數(shù)據,例如:“凱子”,“男”,19,如何快速存儲這些數(shù)據
多數(shù)我們是通過列表進行存儲的
li=['凱子','男',19]
在定義完這個列表之后我們如何來找到數(shù)據'凱子'呢?
我們可以通過索引
print(li[0])
如果將來數(shù)據順序發(fā)生改變的話,還能用索引值進行訪問嗎
答案是不能的
數(shù)據順序發(fā)生變化,每個數(shù)據的下標也隨之變化,如何保證數(shù)據順序變化前后能使用同一種方法查找數(shù)據呢?
那么這里就涉及到了字典
字典的定義
定義:{‘鍵’:'值',‘鍵’:'值'}
1.字典的數(shù)據,都是以鍵值對的方式----鍵和值都要成對出現(xiàn)
2.鍵值對之間用逗號隔開
字典的定義:
d={'name':'凱子','age':19,'sex':'男'}
print(d)
#{'name': '凱子', 'age': 19, 'sex': '男'}
print(type(d))
#<class 'dict'>
獲取字典內值的方式:字典[鍵]
#上面已經將字典定義好了,但是我們現(xiàn)在怎么進行拿值的操作呢? #獲取值---字典[鍵]: #序列類型是有順序的,散列類型是沒有順序的 #字典也是沒有順序的,如果想訪問值的話,我們是需要通過鍵進行獲取的 print(d['name']) #凱子 #我們將順序進行改變的話我們仍然能進行訪問
序列類型是有順序的,散列類型是沒有順序的
字典也是沒有順序的,如果想訪問值的話,我們是需要通過鍵進行獲取的
在字典之內不管順序怎么變我們都能通過鍵進行訪問
字典注意事項
鍵必須是唯一的
#鍵必須是唯一的
d={'name': '凱子', 'age': 19, 'sex': '男',"name":"小明"}
print(d)
#{'name': '小明', 'age': 19, 'sex': '男'}
#之前定義的凱子就被這個小明給替換掉了
#如果在字典里面出現(xiàn)重復的鍵,那么前面的鍵值對會被后面的鍵值對給替換掉
'''
因為我們之前就說明了
在字典中對數(shù)值的訪問我們只能通過鍵
那么現(xiàn)在有兩個一樣的鍵,那么我們是不知道訪問誰的
所以在字典中鍵必須是唯一的
如果同時出現(xiàn)一樣的鍵,那么前面的鍵值對會被后面鍵值對提壞
如果確實要定義兩個名字的話,我們可以在name后面加上數(shù)字進行區(qū)分
'''
如果在字典里面出現(xiàn)重復的鍵,那么前面的鍵值對會被后面的鍵值對給替換掉
最好的解決方法就是在鍵后面加上數(shù)字進行區(qū)分
鍵值對必須成對出現(xiàn),不然就會報錯
字典中的鍵,只能是不可以修改的類型(字符串、元組、數(shù)字)
所以我們是不能用列表作為鍵
字典的操作方式---增刪改查
1.獲取值---字典[鍵]:獲取對應鍵的值
#獲取小明這個值 #字典[鍵] print(d['name'])
2.修改值---字典[鍵]=新值
d={'name':'凱子','age':19,'sex':'男'}
d['name']="小紅"
print(d)
#{'name': '小紅', 'age': 19, 'sex': '男'}
3.添加鍵值對---字典[新鍵]=新值
d['name3']='小蘭'
print(d)
#{'name': '小紅', 'age': 19, 'sex': '男', 'name3': '小蘭'}
字典[鍵]=新值
對于這個,鍵存在,那么就是對這個鍵指向的值進行修改
如果不存在的話,就是新添加一個新的鍵以及這個鍵指向的新值
4.獲取字典中的值的方式
1.1字典[鍵]:獲取對應鍵的值
1.2字典.get(鍵,鍵不存在的提示)
print(d.get('name'))
#小紅
print(d.get('age'))
#19
print(d.get('age1'))
#None
'''
這種方式就會進行一個提示,如果我們輸入的鍵是不存在的話
那么就會提示我們None,說明字典里面并沒有這個鍵
'''
#除此之外,我們是可以自己設置這個提示,提醒我們這個鍵不存在
print(d.get('age1','鍵不存在'))
#鍵不存在
我們可以在這個get函數(shù)進行鍵對應值的查找,并且我們還能判斷鍵是否存在
可以對鍵不存在的信息進行設置
5.setdefault(鍵,值)---鍵存在,返回對應的值
鍵不存在就會將鍵值對進行添加
d={'name':'凱子','age':19,'sex':'男'}
print(d.setdefault('name5','kk'))
print(d)
#{'name': '凱子', 'age': 19, 'sex': '男', 'name5': 'kk'}
#這里的name5就是不存在的鍵
#通過這種方法我們直接將這個鍵放到字典中
print(d.setdefault('name5','55'))
print(d)
#{'name': '凱子', 'age': 19, 'sex': '男', 'name5': 'kk'}
#r如果我們輸入的鍵是存在的話,那么我們就不進行額外的操作了
如果我們輸入的鍵是存在的話,那么我們就不進行額外的操作了
如果我們輸入的鍵是不存在的話,那么我們就在這個字典中添加這個鍵以及這個鍵對應的值
但是如果存在的話,我們是不進行額外的操作的
我們僅僅只需要進行鍵對應的值的打印
setdefault返回的一般是鍵對應的值
字典.setdefault(鍵,’數(shù)據‘)
小回顧:
#當前字典里面有三對鍵值對
#鍵和值之間的分割符是冒號
#鍵值對之間的分隔符是逗號
#用花括號將所有的鍵值對進行包裹
d={'name':"小明",'age':18,'sex':'男'}
#獲取小明這個值
#字典[鍵]
print(d['name'])
#修改值---字典[鍵]=新值
d['name']="小紅"
print(d)
#添加值--字典[新鍵]=新值
d['name1']="小工"
print(d)
#這個name1這個鍵是之前沒出現(xiàn)過的
#所以編譯器會將這個鍵和其對應的值會作為鍵值對添加到字典中
print(d.get('name'))
#小紅
#如果不存在我們想尋找的鍵值對的話,那么編譯器會通過這個函數(shù)將這個鍵值對添加到字典之中
print(d.setdefault('name5',"kaizi"))
print(d)
print(d.setdefault('name'))
#如果這個鍵存在的話,那么setdefault就會返回這個鍵對應的值6.update()---添加多個鍵值對
字典.update(字典)
update添加多個鍵值對的使用方法:
#{'name': '小紅', 'age': 18, 'sex': '男', 'name1': '小工', 'name5': 'kaizi'}
#在原有的字典中添加鍵值對
d.update({'name2':"小李",'age2':'15'})
print(d)
'''
{'name': '小紅', 'age': 18, 'sex': '男', 'name1': '小工', 'name5': 'kaizi', 'name2': '小李', 'age2': '15'}
'''
#這個就是在update的括號內添加一個字典
7.pop(鍵)---刪除指定的鍵值對
#{'name': '小紅', 'age': 18, 'sex': '男', 'name1': '小工', 'name5': 'kaizi'}
#刪除小紅
d.pop('name')
print(d)
'''
{'age': 18, 'sex': '男', 'name1': '小工', 'name5': 'kaizi', 'name2': '小李', 'age2': '15'}
'''
#在列表中對元素進行刪除的時候使用pop我們在括號內不輸入元素的索引值
#那么默認就是刪除最后一個元素
#但是現(xiàn)在我們這里的字典的話使用刪除的方法的時候我們一定要在括號內加上要刪除的鍵值對的鍵
在列表中對元素進行刪除的時候使用pop我們在括號內不輸入元素的索引值
那么默認就是刪除最后一個元素
但是現(xiàn)在我們這里的字典的話使用刪除的方法的時候我們一定要在括號內加上要刪除的鍵值對的鍵
pop的內容里面必須要有內容,沒有內容的話就是會報錯的
8.poptiem()---刪除最后一個鍵值對
d.popitem()
print(d)
#{'age': 18, 'sex': '男', 'name1': '小工', 'name5': 'kaizi', 'name2': '小李'}
d.popitem()
print(d)
#{'age': 18, 'sex': '男', 'name1': '小工', 'name5': 'kaizi'}
#返回關鍵字和值構成的元組
print(d.popitem())
#('name5', 'kaizi')
print(d)
#{'age': 18, 'sex': '男', 'name1': '小工'}
print(d.popitem())
#('name1', '小工')
#返回的值就是要刪除的鍵值對組成的元組
#返回關鍵字和值構成的元組
print(d.popitem())
#('name5', 'kaizi')
print(d)
#{'age': 18, 'sex': '男', 'name1': '小工'}
print(d.popitem())
#('name1', '小工')
#返回的值就是要刪除的鍵值對組成的元組
9.values()獲取字典中所有的值
字典.values()
d={'name':"小明",'age':18,'sex':'男',"name1":"小紅"}
print(d.values())
#dict_values(['小明', 18, '男', '小紅'])
for i in d.values():
print(i)
'''
小明
18
男
小紅
對于這個循環(huán)的寫法,我們編譯器會先執(zhí)行這個d.values的方法,
print(d.values())
#dict_values(['小明', 18, '男', '小紅'])
獲取到字典中的值
這些值都被存在一個列表中
然后我們i遍歷這個列表打印每一個值
'''
我們將d.values寫到for循環(huán)的條件中
我們先進行d.values的編譯,然后生成了一個列表,這個列表里面存著的就是這個字典里面的數(shù)據
然后i進行這個列表的遍歷,然后進行數(shù)據的打印
10.keys()---獲取字典中所有的鍵
d={'name':"小明",'age':18,'sex':'男',"name1":"小紅"}
print(d.keys())
#dict_keys(['name', 'age', 'sex', 'name1'])
#同樣,獲取的鍵也會存在列表中
#那么我們也可以同樣利用for循環(huán)遍歷這個鏈表進行鍵的打印
for i in d.keys():
print(i)
'''
name
age
sex
name1
'''
將獲取的鍵存在列表中,利用for循環(huán)進行遍歷列表,打印每一個鍵
11.items()---獲取字典中所有的鍵值對
#利用items就能獲取這個字典內的鍵值對,得到的鍵值對會被存在列表中
#每一個鍵值對在列表中存在的元素是元組形式的
d={'name':"小明",'age':18,'sex':'男',"name1":"小紅"}
print(d.items())
'''
dict_items([('name', '小明'), ('age', 18), ('sex', '男'), ('name1', '小紅')])
'''
#我們從這個存儲鍵值對的列表中進行遍歷,打印每一個鍵值對
for i in d.items():
print(i)
'''
('name', '小明')
('age', 18)
('sex', '男')
('name1', '小紅')
'''
用鍵:值這個格式將字典內的鍵值對表示出來
因為我們使用items獲取到的鍵值對是以元組形式存進這個列表的
那么我們隨著i的變化就能進行列表中所有鍵值對的訪問,也就是對元組的訪問
那么我們是可以通過索引值訪問元組內的元素的
這個元組內的元素下標為0就是鍵,1就是鍵指向的數(shù)據
那么我們就可以利用循環(huán)將這個格式進行輸出
利用索引值將鍵值隊的格式表現(xiàn)出來:
#鍵值對存在列表中
#對于這個循環(huán)來說,i存放的數(shù)據是鍵值對的數(shù)據,鍵值對輸出的格式是---鍵:值
#因為鍵值對存在列表中,所以我們是可以用下標進行訪問的
d={'name':"小明",'age':18,'sex':'男',"name1":"小紅"}
print(d.items())
#dict_items([('name', '小明'), ('age', 18), ('sex', '男'), ('name1', '小紅')])
for i in d.items():
#print(i)
#通過索引的方式將鍵和值單獨的獲取
#鍵值對在這個列表中存在的形式是元組
#通過i的變化,我們訪問每一個鍵值對
#那么我們就可以用i+索引進行元組內元素的訪問的操作了
print(i[0])#訪問的是鍵
print(i[1])#訪問的是值
print(f'{i[0]}:{i[1]}')
'''
那么我們通過循環(huán)就打印出這么個樣子
name:小明
age:18
sex:男
name1:小紅
和我們預期的是一樣的
'''
除了使用索引,我們還能使用拆包的方法
回顧一下什么事拆包
元組可以同時賦值給多個變量,只要變量個數(shù)不超過元組長度,變量前面加上* 號則可以將多于元素都接受,并組成一個列表
d={'name':"小明",'age':18,'sex':'男',"name1":"小紅"}
print(d.items())
#dict_items([('name', '小明'), ('age', 18), ('sex', '男'), ('name1', '小紅')])
for i in d.items():
a,b=i
## print(a)
## print(b)
print(f'{a}:')
'''
隨著i的遍歷,每次都指向著不同的元組,就是指向不同的鍵值對
那么所以說i種存在兩個值,就是鍵和鍵指向的值
那么我們就利用元組的拆包的操作
將鍵值對這兩個值存在我們創(chuàng)建的兩個變量中
a就是存儲鍵
b就是存儲值了
那么我們利用循環(huán),i遍歷整個列表我們將整個列表中的元素都進行打印了
'''
#兩種方法都能實現(xiàn)我們想要的效果
'''
name:小明
age:18
sex:男
name1:小紅
'''
2.集合
集合的概念以及定義(包括空集合)
集合的定義:{元素1,元素2…….}
i={1,5,6}
print(type(i))
#<class 'set'>
那么空集合該怎么進行使用呢?
如果我們光寫一個花括號的話,那么這個是不是就能表示空集合呢?
答案是不能的
q={}
print(type(q))
#<class 'dict'>
最后打印出來的類型是一個字典
所以說一個空的花括號表示的是字典
其實空集合的創(chuàng)建是set()
o=set() print(type(o)) #<class 'set'>
所以set就是集合的表示方式
創(chuàng)建空集合一定要使用set()
集合的特點
1.集合是和字典是一樣的,元素是沒有順序的
所以我們在打印集合的時候打印出來的數(shù)據的順序都是隨機的
2.集合內的元素都是唯一的
如果我們在定義集合元素的時候有多個相同的元素的話,那么我們在打印的時候指只會保留一個
j={1,2,3,'hu',5,6,1,5}
print(j)
#{1, 2, 3, 5, 6, 'hu'}
所以集合是無序不重復的散列
集合的操作
1.去重:利用集合的特點---元素是唯一的
#對列表進行去重的操作
li=[12,56,89,56,16]
#將列表轉換為集合的類型
j2=set(li)
print(j2)
#{56, 89, 12, 16}
#然后將集合轉換為列表,然后這個列表就完成了去重的操作了
li=list(j2)
print(li)
如果一個列表需要進行去重的話,我們就可以將這個列表轉換為集合然后進行去重的操作
2.修改
對于集合的話我們是沒有直接的修改的操作的
我們只能先刪除再添加
3.添加
#### 3.1 add(元素)---添加元素到集合中
我們說加什么add就加什么,不會做額外的操作
#添加操作
j={1,2,3,'hu',5,6,1,5}
j.add("你好啊")
print(j)
#{1, 2, 3, 'hu', 5, 6, '你好啊'}
#### 3.2 upodate(序列/散列)
這個函數(shù)會將我們輸入的要添加的序列或者是散列給拆分了
#添加序列的話
#update(序列/散列)
j.update("你好")
print(j)
#{1, 2, 3, 5, 6, 'hu', '你', '好', '你好啊'}
#可以發(fā)現(xiàn)我們后面輸入的被拆開了
#將我們輸入的序列或者是散列類型的數(shù)據拆開放到集合中
括號內是不能夠寫數(shù)字的,會報錯,因為括號內只能寫序列和散列
4.刪除
#### 4.1remove(指定元素)
我們是需要指定值進行操作的
j={1,2,3,'hu',5,6,1,5}
j.remove("hu")
print(j)
#{1, 2, 3, 5, 6}
j.remove(5)
print(j)
#{1, 2, 3, 6}
#### 4.2pop()---刪除隨機元素
之所以刪除隨機元素,因為數(shù)據的位置都是隨意變動的
#{1, 2, 3, 6}
j.pop()
print(j)
#{2, 3, 6}
5.交集、并集
只有集合里面存在這個概念
#### 5.1交集----- &
取出兩個集合中相同的內容
a={1,2,3,4}
b={3,4,5,6}
print(a&b)
#{3, 4}
#### 5.2并集----- |
兩個集合合并在一起
a={1,2,3,4}
b={3,4,5,6}
print(a|b)
#{1, 2, 3, 4, 5, 6}
集合中每個數(shù)據都是唯一的
那么出現(xiàn)的兩個3和兩個4最后都只保留了一個
要遵循集合的規(guī)則
至此,我們的數(shù)據類型就學完了
運算符的優(yōu)先級

賦值元素符就是左右兩邊的內容進行指定的算術運算再將結果賦值給左邊的變量
成員運算符
成員運算符有兩個:in not in
成員運算符在序列和散列居多
主要是判斷某個內容在這一堆是否存在
使用格式:數(shù)據 in 序列/散列
判斷數(shù)據是不是序列/散列的成員
成員運算符的使用
#判斷字符p是不是python的成員
print('p'in'pyhton')
#True
li=['李四''張三''王二']
if "小明" in li:#判斷小明在不在名字列表里面
print(True)
else:
print(False)
#False
#判斷字符q是否不是python的成員
print('q'not in'pyhton')
#not in 的操作就是和in的操作是相反的
身份運算符
看的是你引用的是不是同一塊內存空間的內容
is判斷兩個內容是不是同一個地址
is not相反
a=1
b=a
c=2
print(a is b)#True
#a和b指定同一塊空間
print(a is c)#False
#a和c不指向同一塊空間
print(f'a:{id(a)}')
print(f'b:{id(b)}')
print(f'c:{id(c)}')
#a:1535758792
#b:1535758792
#c:1535758808
#可見, 我們通過id()這個函數(shù)我們就能看的出a和b二檔地址與c是不同的
#is判斷兩個內容是不是同一個地址
#is not相反
使用id()能查看數(shù)據的地址
可變復制---copy()
在進行重要數(shù)據的賦值之前
我們需要對這個數(shù)據進行一個拷貝復制,因為這個數(shù)據一但被修改了就不能回復了
所以我們需要提前將這個數(shù)據進行復制一下
對于可以修改的數(shù)據類型,之前的數(shù)據就沒有了
且不能恢復
如果想保留修改之前的數(shù)據
我們需要提前備份一份數(shù)據
我們需要使用到copy()函數(shù)
copy()函數(shù)的使用方式:
li=[1,2,3,4,5] print(id(li))#72456872 li1=li.copy() print(li1) #[1, 2, 3, 4, 5] print(id(li1))#72456840
我們使用copy去備份數(shù)據的時候,copy會去額外申請一個空間去放這個備份的數(shù)據
備份類型直接對于只能修改的類型
列表、字典、集合
如果我們是想通過賦值來達到備份的效果,這個是不可能的
因為我們賦值出來的對象與原先的對象都指向著同一塊空間的
那么我們將原先對象進行改變,那么備份的對象也會被改變,因為都指向同一塊空間
所以我們需要copy()來專門進行備份的操作
通過copy會額外申請一塊空間
3.回顧
1.數(shù)值類型
整型 int 整數(shù) 不可以修改的
浮點型 float 帶小數(shù)點的數(shù)字 不可以修改的
布爾型 bool True(真1)、False(假0) 不可以修改的
2.序列類型(索引、切片)
字符串 str 用引號括起來的內容 不可以修改的(存在修改方法,但是會生成新的字符串)
列表 list [元素1,元素2] 可以修改
元組 tuple (元素1,元素2) 不可以修改的
3.散列類型
字典 dict {鍵:值,鍵:值} 可以修改
集合 set {元素1,元素2} 可以修改
題目
1.用戶登錄
如果用戶名存在就輸入密碼,當密碼正確的時候就顯示登錄成功并且退出程序
如果用戶名不存在則提示用戶注冊
判斷用戶是否存在
存在---輸入密碼
不存在---提示用戶注冊
students =[
{'name':'張三','password':123},
{'name':'王五','password':888},
{'name':'趙六','password':456}
]
name=input("請輸入用戶名:")
for i in students:
#i存在的是用戶的信息字典
if name==i['name']:
#對輸入的用戶名進行判斷
for n in range(1,4):
#循環(huán)3次進行輸入密碼的操作,如果輸入正確直接跳出循環(huán)
pwd=eval(input("請輸入密碼:"))
if pwd==i['password']:
print('登錄成功')
exit()
#break#只能退出當前所在的循環(huán),就是跳出了里面的循環(huán),還是處于外部循環(huán)
else:
print(f'密碼錯誤,還剩{3-n}次機會')
#if name==i['name'] and pwd==i['password'] :
break
else:#循環(huán)正常結束執(zhí)行,即沒有break語句
print("用戶名不存在")
#對于這個程序的話,我們 不管輸入什么最后都會打印這個用戶名不存在
#我們內循環(huán)里面的break僅僅只夠我們跳出內部循環(huán)
#但是沒有跳出外部循環(huán),這就是為什么會打印else的那句話
#那么我們就在外部循環(huán)加上一個判斷語句,如果條件成立就直接跳出
#那么就不會進行這個循環(huán)后面的代碼了
#總結,就是break只能退出當前所在的循環(huán),所以在外邊循環(huán)中我們需要再寫一個break跳出外部循環(huán)
#對于后面的這個else語句來說
#循環(huán)正常結束執(zhí)行,即沒有break語句
#但是我們在內循環(huán)break的位置加一個exit()
#我們直接退出這個程序,那么就沒有后面else的事了
#如果后面有代碼的話,這個exit()影響到了后面代碼的執(zhí)行的話
#那么我們就使用break來跳出
#兩個break
students =[
{'name':'張三','password':123},
{'name':'王五','password':888},
{'name':'趙六','password':456}
]
name=input("請輸入用戶名:")
for i in students:
#print(i)
if name in i.values():
#獲取當前字典內的值
#我們在這里需要用到字典相關的函數(shù)--values去獲取字典內的值
#查看當前遍歷到的字典有沒有我們輸入的name
#print("存在")
for n in range(3):
pws=int(input("請輸入密碼:"))
if pws==i['password']:
print("登錄成功")
exit()
else:
print(f"密碼錯誤,還剩{3-n}次機會")
else:#循環(huán)正常結束才會執(zhí)行
print("用戶名不存在")
#在這個代碼里面只有一個循環(huán)
#那么我們在break之后我們就不會觸發(fā)這個else了,我們直接跳出循環(huán)了
#我們這里的break跳出循環(huán)是非正常循環(huán)的
2.數(shù)字重復統(tǒng)計:
'''
數(shù)字重復統(tǒng)計:
(1)隨機生成1000個整數(shù)
import.random
random.randint
(2)數(shù)字的范圍[20,100]
(3)升序輸出所有不同的數(shù)字及每個數(shù)字重復的次數(shù)
'''
import random
li=[]#創(chuàng)建一個空列表
for i in range(1000):
num=random.randint(20,100)
print(num)
li.append(num)#我們將每次循環(huán)產生的數(shù)添加到這個列表中
print(li)
#升序輸出所有不同的數(shù)字---去重(轉換為集合),排序(sort)
li1=list(set(li))
#先轉換為集合再轉換為列表,我們就達到了去重的效果
print(li1)
li1.sort()#默認是從小到大,升序的
print(li1)
#每個數(shù)字重復的次數(shù)---統(tǒng)計數(shù)字出現(xiàn)的次數(shù)(序列.count(數(shù)據))
for i in li1:#遍歷去重的列表
#進行統(tǒng)計,對沒有機芯工去重的列表進行統(tǒng)計
x=li.count(i)
print(f'{i}出現(xiàn)了{x}次')
#我們所有的數(shù)字已經在li1里面了,而且沒有重復的
#那么我們將這個列表作為外循環(huán)的條件進行遍歷
#然后我們在li這個鏈表即興每次遍歷的數(shù)字的出現(xiàn)次數(shù)的計算
#我們需要將元素存儲起來
#那么存放多個元素的有什么呢?
#列表、元組(不可修改)、字典(鍵值對)、集合
#那么最后只有列表和集合方便
#這個題的要求是還要統(tǒng)計重復數(shù)字的次數(shù)而且保存重復的數(shù)字
#那么我們直接將字典排除了
#因為字典是去重的
#那么最后我們就使用列表來對這些數(shù)字進行存儲
我們在最后統(tǒng)計每個數(shù)字出現(xiàn)的次數(shù)
我們將每個數(shù)字進行去重
然后針對每個數(shù)字進行計數(shù)
通過這里的代碼就會縮短時間
如果我們是對1000個數(shù)字一個一個進行遍歷的話會很慢的
我們第一步直接將出現(xiàn)的數(shù)字縮水顯現(xiàn)出來
然后我們再在原先的列表中進行遍歷計算這個數(shù)字出現(xiàn)的次數(shù)
總結
到此這篇關于一文帶你手撕Python之散列類型的文章就介紹到這了,更多相關Python散列類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python實現(xiàn)的微信公眾號群發(fā)圖片與文本消息功能實例詳解
這篇文章主要介紹了Python實現(xiàn)的微信公眾號群發(fā)圖片與文本消息功能,結合實例形式詳細分析了Python調用微信接口實現(xiàn)微信公眾號群發(fā)圖片與文本消息的具體操作步驟與相關注意事項,需要的朋友可以參考下2017-06-06
Python itertools.product方法代碼實例
這篇文章主要介紹了Python itertools.product方法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03

