1. 程式人生 > >python基礎一數據類型之字典

python基礎一數據類型之字典

是你 clear tde city 用戶 bsp upd 存在 2個

摘要:

  python基礎一數據類型之一字典,這篇主要講字典。

1,定義字典

2,字典的基礎知識

3,字典的方法

1,定義字典

1,定義1個空字典

dict1 = {}

2,定義字典

dict1 = dict(x=10,y=10)

3,將列表轉換為字典

dict1 = dict([(‘a‘,10),(‘b‘,10)])

2,字典的基礎知識


1,字典的key,value說明

dict1 = {‘a‘:1,1:123} key是不可變的,所以key可以用元祖,但不然能用列表表示,另外字典是無序的且key是唯一的!

dict1 = {(‘a‘,‘b‘,‘c‘):1,‘name‘:‘tom‘}

這個是用列表表示key,這個是不可取的,會返回報錯。

dict1 = {[‘a‘,‘b‘,‘c‘]:1,‘name‘:‘tom‘}

獲取字典中的值,通過key獲取:
(dict1[(‘a‘, ‘b‘, ‘c‘)]
運行結果:1

更改字典中的值:
dict1[name] = ‘tim‘

2,將2個序列號化的數據類型轉換為字典使用zip (序列化:字符串、列表、元祖、集合)

tuple1 = (‘name‘,‘age‘)

tuple2 = (‘tom‘,‘30‘)

dict1 = zip(tuple1,tuple2)

dict1 = dict(dict1)

3,字典的方法

1,clear() 清空字典
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.clear()
            
            運行結果:{}

2,copy() 復制字典
dict1 = {‘name‘:‘tom‘,‘age:‘22‘}

dict2 = dict1.copy()

print dic
            
              運行結果:{‘age‘: 22, ‘name‘: ‘tom‘}

  

 

3,fromkeys  主要用於創建新的字典,value一樣。

dict1 = dict.fromkeys(‘abc‘,100)



print dict1

            運行結果:{‘a‘: 100, ‘b‘: 100, ‘c‘: 100}

  

4,get 用戶判斷字典中是否擁有某個key,,如果有返回對於的value,則返回None。當然,如果沒有對應的value,也可以指定返回的字符。
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}
dict1.get(‘name‘)

        運行結果:tom
dict1 = {‘name‘:‘tom‘,‘age‘,‘22‘}
dict1.get(‘name1‘,‘no‘)
        
        運行結果:no

  

5,has_key 判斷字典中是否含有某個key,如果存在返回True,否則返回False.

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.has_key(‘name1‘)

        運行結果:False

 

6,items 將字典作用的內容以列表的形式打印,一般用於將字典轉換成列表。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

print dict1.items()

        運行結果:[(‘age‘, 22), (‘name‘, ‘tom‘)]

7,iteritems  獲取所有的item,只是返回的是一個生成器。和itmes的區別在於item會將字典中內容一次性輸出出來,而生成器是你用到哪個我就生成哪個。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

for k,v in dict1.iteritmes():
  print k,v

        運行結果:age 22
             name tom

  

8,iterkeys 獲取所有的keys,是返回的是一個生成器。
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘} 
  for k in dict1.iterkeys():   
      print k         
        
        運行結果:name
              age

  

9,itervalues 獲取所有的values,是返回的是一個生成器。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

for v in dict1.itervalues():
  print v

        運行結果:tom
                      22

  

10,keys 獲取所有的keys.

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

print dict1.keys()

        運行結果:[‘age‘, ‘name‘]

  

11,pop 刪除指定的key

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.pop(‘age‘)

print dict1

        運行結果:{‘name‘: ‘tom‘}
                   

  

12,popitem 隨機刪除key

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.popitem()

print dict1

        運行結果:{‘name‘: ‘tom‘}
                   

  

13,setdefault 如果字典中沒有這個key,就設置這個Key和value,如果有,則使用默認的且返回對應的values。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.setdefault(‘city‘,‘beijing‘)

print dict1

        運行結果:{‘age‘: ‘22‘, ‘city‘: ‘beijing‘, ‘name‘: ‘tom‘}

  

14,update 更新字典,一般用於將2個字典合並為一個字典
 
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}
 
dict2 = {‘city‘:‘beijing‘}
 
dict1.update(dict2)
 
print dict1

			運行結果 {‘age‘: ‘22‘, ‘city‘: ‘beijing‘, ‘name‘: ‘tom‘}

將2個字典合並為1個字典:dict3 = dict(dict1,**dict2)

  

 

15,values,查看所有的values

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.values()


        運行結果:[‘22‘, ‘tom‘]

  

python基礎一數據類型之字典