1. 程式人生 > >元組與字典

元組與字典

item 而是 alt ID div 創建 from rom sdf

一、元組(tuple):

元組,跟列表很相識,最主要的區別就是它裏面的元素不允許被修改。元組也是有序的,有切片操作。

#1、索引:

>>> t1=(a,b,c)
>>> print(t1[1])
b

#2、切片:

>>> t1=(a,b,c)
>>> print(t1[::-1])
(c, b, a)

#3、註意元組所謂的不能修改只是針對一級元素,如果一級元素是一個可變類型:即列表,字典,集合那麽這個可變類型是可以更改的。

>>> t1=(a,b,[1,2,3])
>>> t1[2][0]=2 >>> t1 (a, b, [2, 2, 3])

二、字典(dictionary)

dict.fromkeys()

get()

pop(),popitem

setdefault()

update()

items() values()keys()

技術分享圖片
#1、字典的生成:可以直接通過鍵值對賦值。也可以根據序列,創建字典,並指定統一的值。

>>> v = dict.fromkeys(["k1",123,"999"],123)

>>> v
{k1: 123, 123: 123, 
999: 123} >>> #2、可以通過Key 獲取值,Key不存在時,可以指定默認值 >>> dic = {"k1":v1,"k2":v2} >>> print(dic["k1"]) v1 >>> print(dic.get("k1")) v1 >>> print(dic.get("k43",100)) 100 #3,可以通過pop方法獲得字典的元素: dic = { "k1": v1, "k2": v2 } 若 v = dic.pop(k1,90) print
(dic,v) #{‘k2‘: ‘v2‘} v1 若 v = dic.pop(k3,90) print(dic,v) #{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘} 90 若 k,v = dic.popitem() print(dic,k,v) #{‘k1‘: ‘v1‘} k2 v2 #4、 設置值, 已存在,不設置,獲取當前key對應的值 不存在,設置,獲取當前key對應的值 dic = { "k1": v1, "k2": v2 } v = dic.setdefault(k1,123) print(dic,v) #{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘} v1 v=dic.setdefault(k3,v3) print(dic,v) #{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘v3‘} v3 #5、更新字典,已經存在的修改,不存在的增加 dic = { "k1": v1, "k2": v2 } dic.update({k1: 111111,k3: 123}) print(dic) #{‘k1‘: ‘111111‘, ‘k2‘: ‘v2‘, ‘k3‘: 123} dic.update(k1=123,k3=345,k5="asdf") print(dic)          #{‘k1‘: 123, ‘k2‘: ‘v2‘, ‘k3‘: 345, ‘k5‘: ‘asdf‘} #6 字典的values可以是任意值,但是字典的key不能是列表、字典、集合(元組可以) #7字典是無序的,可以按照keys索引: dici={k1:aaa,k2:bbb,k3:[1,2,3]} print(dici[k1]) print(dici[k3][1]) #8字典指出del刪除: dici={k1:aaa,k2:bbb,k3:[1,2,3]} del(dici[k1]) print(dici) #{‘k2‘: ‘bbb‘, ‘k3‘: [1, 2, 3]} #9 字典的keys,values,items.這三個返回的不是一個列表,而是一個可遍歷的類型,不支持按下標索引(python2返回的可以)。 dici={k1:aaa,k2:bbb,k3:[1,2,3]} print(dici.items()) #dict_items([(‘k1‘, ‘aaa‘), (‘k2‘, ‘bbb‘), (‘k3‘, [1, 2, 3])]) print(dici.keys())    #dict_keys([‘k1‘, ‘k2‘, ‘k3‘]) print(dici.values())   #dict_values([‘aaa‘, ‘bbb‘, [1, 2, 3]]) for i in dici.items():   print(i) #(‘k1‘, ‘aaa‘) (‘k2‘, ‘bbb‘) (‘k3‘, [1, 2, 3]) for in dici.keys(): print(i) #k1 k2 k3 for i in dici.values(): print(i)    #aaa bbb [1,2,3]
View Code



 

元組與字典