python中字典的输出序列_python3:序列_字典(常用基础知识)
#字典:
'''字典:無序的、可變的序列,也稱關聯數組,或散列表
①格式{鍵:值}
②通過鍵讀取元素
③字典是任意對象的無序集合
④字典可任意嵌套,如元素可以為列表、字典、列表的列表等
⑤字典的鍵必須是唯一的。不可重復,如果重復了,則已最后的鍵對應的值為準。
⑥字典中的鍵是不可變的,即鍵可以添加,不可以修改。'''
#字典有很多繼承序列的內容如下:#序列索引從0開始,從最后起則索引為-1
#空字典
print('空字典1:',{},"空字典2:",dict())
a= {'4':20,'1':35,'6':30,'5':25}
c= {'c1鍵':"c1",'c2鍵':"c2",'c3鍵':"c3"}
b= {'4':'小一','5':'小二','6':'小三'}
aa= {range(1,11,2)}print(aa)print(a['1']) #輸出'a1鍵'對應的值
'''python3中字典合并的幾個方法如下。注意,合并的字典中對應的鍵類型應該一致,
否則如果鍵值有的是字符串,有的是數字,則提示:TypeError: keyword arguments must be strings'''
#字典的合并方法1
print('字典的合并方法1:',dict(a, **b))#字典的合并方法2
ab =a.copy()
ab.update(b)print('字典的合并方法2:',ab)#字典的合并方法3
ab =dict()
ab.update(a)
ab.update(b)print('字典的合并方法3:',ab)#檢查字典成員
print('小三' in b) #in 在,not in 不在,結果:False,因為默認檢查的是字典的鍵,而不是值
print('6' in b) #in 在,not in 不在,結果:True
print('小三' in b.values()) #in 在,not in 不在,結果:True(可以用值去判斷)
#序列長度、最大值、最小值;%d數字替代符,n\換行符
print("序列長度:%d\n序列最大值:%r\n序列最小值:%r" %(len(a),max(a),min(a))) #默認比較的是鍵值
print("序列長度:%d\n序列最大值:%r\n序列最小值:%r" %(len(a),max(a.values()),min(a.values()))) #比較的是字典的值
print(dict(a)) #序列轉為字典
print(str(a)) #序列轉為字符串
print(sum(a.values())) #序列元素+
#-------------------字典-------------------------#除了對元素的順序和內容不可添加、修改、刪除外,字典有很多同列表一樣的功能#遍歷字典
print('遍歷字典每項鍵方法1:')for item ina:print(item)print('遍歷字典每項鍵方法2:')for item ina.keys():print(item)print('遍歷字典每項值方法:')for item ina.values():print(item)print('遍歷字典每項鍵和值方法:')for item ina.items():print(item)#將a分兩列輸出 笨方法
print('將a的值分兩列輸出,笨方法')for item ina.items():for index initem[0]:if int(index)%2 ==0:print(item[1],'\t\t',end='') #\t:橫向空出一個制表符的位置;end='':接下來輸出的內容不要換行顯示,即:index 0不換行,1換行,2不換行,3換行
else:print(item[1])#將a分兩列輸出 簡易方法
print('將a的值分兩列輸出,簡易方法')for index,item ina.items():if int(index)%2 ==0:print(item,'\t\t',end='') #\t:橫向空出一個制表符的位置;end='':接下來輸出的內容不要換行顯示,即:index 0不換行,1換行,2不換行,3換行
else:print(item)
shuzi= (128,512,309)
daihao= ['SY','JX','JN']
jiancheng= ['SY','JX','JN','SP','TX']
xingzuo= ['雙魚','巨蟹','金牛','水瓶','天蝎']#創建字典
di10 = dict.fromkeys(shuzi) #key為shuzi,value為空的字典
di11 = dict(zip(shuzi,daihao)) #生成字典
di12 = dict(zip(jiancheng,xingzuo)) #生成字典,注意,如果想讓一個作為key的內容不可為列表,因為列表是可變的,必須為字典等不可變得內容#生成字典,注意,如果想讓一個序列作為key,那么這個序列不可以是列表,因為列表是可變的,提示錯誤:TypeError: unhashable type: 'list'#di3 = {jiancheng:xingzuo}
print('di11:',di11)print('di12:',di12)print('返回刪除的指定的鍵',di11.pop(309))print('返回刪除的隨意的鍵和值的信息',di11.popitem())
di11.clear()#清空字典
print(di11)print("如果指定的鍵存在,則返回該鍵的值,方法1:",di12['JN'])print("如果指定的鍵存在,則返回該鍵的值,方法1:",di12['SY'] if 'SY' in di12 else "沒有這個簡稱啦~")print("如果指定的鍵存在,則返回該鍵的值,方法1:",di12['SY'] if 'SY1' in di12 else "沒有這個簡稱啦~")print("如果指定的鍵存在,則返回該鍵的值,方法2:",di12.get('JX',"喲,您老的記憶力真好,可惜沒有啦~"))print("如果指定的鍵存在,則返回該鍵的值,方法2:",di12.get('JX2',"喲,您老的記憶力真好,可惜沒有啦~"))
dd1= dict(zip(shuzi,daihao)) #生成:數字、代號字典
dd2 = dict(zip(jiancheng,xingzuo)) #生成:代號、星座字典#返回128對應的代號和星座
print('128對應的代號是:',dd1.get(128),'\n128對應的星座是:',dd2.get(dd1.get(128)))
dd1[603] = 'M'#添加字典元素
dd1[309] = 'P'#修改字典元素
del dd1[309] #刪除字典元素
print(dd1)#字典推導式:(用列表創建的表達式依然可成功創建,******注意:記得加上dict()******)、、
dd11= {i:j for i,j in zip(shuzi,daihao)} #用推導式生成
print(dd11)#生成指定范圍的數值字典
importrandom
d= {i:random.randint(11,20)*2 for i in range(1,7)} #random.randint(30,90)*2:元素表達式,i:針對后面range的循環變量
print('d:',d)#生成指定需求的字典,如d的5折
e = {i:int(x*0.5) for i,x in zip(range(1,len(d)),d)} #x*0.5:元素表達式;x:d中的元素,i的長度為d的長度
print('e:',e)#生成符合條件的字典,如f字典需要0.5的d元素,且0.5d元素依然為偶數
f = {i:int(x*0.5) for i,x in zip(range(1,len(list(int(x*0.5) for x in d))),d) if int(x*0.5)%2==0}#x*0.5:元素表達式;x:d中的元素 i的長度為符合條件的列表的長度,也可以寫為元組 len(tuple(int(x*0.5) for x in d))
print('f:',f)#創建數字字典
ff = {range(1,13,3)}print(ff)#二維字典#使用推導式創建二維字典(用列表創建的表達式依然可成功創建)
g ={i:[random.randint(3,8) for j in range(3) ] for i in range(1,4)}print(g)print(g[1][2]) #key1對應的值中的第2個下標中的值
總結
以上是生活随笔為你收集整理的python中字典的输出序列_python3:序列_字典(常用基础知识)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中.rpm,Linux中rpm
- 下一篇: websocket python爬虫_p