99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Python元組與字典

2018-06-08 17:14 更新


python字典

概念:字典是另一種可變容器類型,且可存儲任意類型對象,如其他容器類型。

字典由鍵和對應值成對組成。字典也被稱作關聯(lián)數(shù)組或哈希表。理解好一一對應的

關系很重要

 

1. 掌握字典類型

a) 字典的特點

無序: 通過鍵實現(xiàn)元素存取,故無序

可變:可以通過鍵進行改變值

異構:支持多種數(shù)據(jù)類型

嵌套:可以在鍵值對中的值部分出現(xiàn)字典

b) 定義字典:

ii. 方法一:{key1:value1,key2:value2,...}

iii. 方法二:dict()內置函數(shù):指定鍵值

例:d2=dict(name="jerry",age="45",gender="m")

iv. 關鍵點:

鍵與值用冒號“:”分開;

項與項用逗號“,”分開;

字典中的鍵必須是唯一的,而值可以不唯一

   實例:

   

dict = {'Alice': '16', ' MadKing ': '17', 'Cecil': '18'}
dict1 = { 'abc': 456 }dict2 = { 'abc': 123, 98.6: 37 } 嵌套定義


訪問字典里的值

把相應的鍵放入熟悉的方括弧,如下實例:


 

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
  
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];


如果用字典里沒有的鍵訪問數(shù)據(jù),會輸出錯誤如下:


dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
  
print "dict['Alice']: ", dict['Alice'];


以上實例輸出結果:

1

2

3

4

5

dict['Zara']:
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'




修改字典

向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例:

1

2

3

4

5

6

7

8

9

10

#coding:utf8
  
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
  
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
  
  
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];


以上實例輸出結果:

1

2

dict['Age']:  8
dict['School']:  DPS School


刪除字典元素

能刪單一的元素也能清空字典,清空只需一項操作。

顯示刪除一個字典用del命令,如下實例:


#coding:utf8
  
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
  
del dict['Name']; # 刪除鍵是'Name'的條目
dict.clear();     # 清空詞典所有條目
del dict ;        # 刪除詞典
  
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];


但這會引發(fā)一個異常,因為用del后字典不再存在:

1

2

3

4

5

dict['Age']:
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable


注意:刪除元素盡量用字典內置方法,不需要直接del,后面會討論。

 

字典鍵的特性

字典值可以沒有限制地取任何python對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。

兩個重要的點需要記?。?/p>

1)不允許同一個鍵出現(xiàn)兩次。創(chuàng)建時如果同一個鍵被賦值兩次,后一個值會被記住,如下實例:

1

2

3

4

5

#coding:utf8
  
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
  
print "dict['Name']: ", dict['Name'];


以上實例輸出結果:

1

dict['Name']:  Manni


2)鍵必須不可變,所以可以用數(shù),字符串或元組充當,所以用列表就不行,如下實例:

1

2

3

4

5

#coding:utf8
  
dict = {['Name']: 'Zara', 'Age': 7};
  
print "dict['Name']: ", dict['Name'];


以上實例輸出結果:

1

2

3

4

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict = {['Name']: 'Zara', 'Age': 7};
TypeError: list objects are unhashable


掌握字典相關方法

1.1 添加元素:dict1[key] = value

例如:

1.2 items():變量解包:即將字典轉化為鍵、值作為元組的列表

例如:

 


dict = {'Name': 'Zara', 'Age': 7}
 
print "Value : %s" %  dict.items()
 
Value : [('Age', 7), ('Name', 'Zara')]

    

            1.3 keys();鍵列表

例如:

 

1.4 values():值列表

例如:

 


1.5 has_key():判斷是否存在某個鍵,返回結果true 或false

例如:

 


 

1.6 len():取得字典中鍵值對個數(shù)

例如:

 

1.7         update():在原字典上合并字典,鍵相同時會被覆蓋。

        例如:

        


1.8         get():取得某個鍵對應的值

例如:

1.9         pop():彈出指定鍵對應的值

1.10         popitem():隨機彈出鍵值對

1.11         clear():清除所有元素

例如:

2. 掌握字典的遍歷:

 

概念:Python的元組與列表類似,也是一種容器類型,不同之處在于元組的元素不能修改。
元組使用小括號,列表使用方括號。

Python的元組與列表類似,不同之處在于元組的元素不能修改。

特點:支持異構;

  支持嵌套;

  不可變

元組使用小括號,列表使用方括號。

元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。

如下實例:

1

2

3

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";


創(chuàng)建空元組


tup1 =();


元組中只包含一個元素時,需要在元素后面添加逗號


tup1 =(50,);


元組與字符串類似,下標索引從0開始,可以進行截取,組合等。



訪問元組

元組可以使用下標索引來訪問元組中的值,如下實例:


 
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
 
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]


以上實例輸出結果:


tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]




修改元組

元組中的元素值是不允許修改的,但我們可以對元組進行連接組合,如下實例:


 

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
 
# 以下修改元組元素操作是非法的。
# tup1[0] = 100;
 
# 創(chuàng)建一個新的元組
tup3 = tup1 + tup2;
print tup3;


以上實例輸出結果:


(12, 34.56, 'abc', 'xyz')


刪除元組

元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個元組,如下實例:


 

 
tup = ('physics', 'chemistry', 1997, 2000);
 
print tup;
del tup;
print "After deleting tup : "
print tup;


以上實例元組被刪除后,輸出變量會有異常信息,輸出如下所示:

1

2

3

4

5

6

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
  File "test.py", line 9, in <module>
    print tup;
NameError: name 'tup' is not defined




元組運算符

與字符串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味著他們可以組合和復制,運算后會生成一個新的元組。

Python 表達式

結果

描述

len((1, 2, 3))

3

計算元素個數(shù)

(1, 2, 3) + (4, 5, 6)

(1, 2, 3, 4, 5, 6)

連接

['Hi!'] * 4

('Hi!', 'Hi!', 'Hi!', 'Hi!')

復制

3 in (1, 2, 3)

True

元素是否存在

for x in (1, 2, 3): print x,

1 2 3

迭代




元組索引,截取

因為元組也是一個序列,所以我們可以訪問元組中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元組:


L =('spam', 'Spam', 'SPAM!')


Python 表達式

結果

描述

L[2]

'SPAM!'

讀取第三個元素

L[-2]

'Spam'

反向讀取;讀取倒數(shù)第二個元素

L[1:]

['Spam', 'SPAM!']

截取元素




無關閉分隔符

任意對象 以逗號隔開,默認為元組,如下實例:


print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;


元組內置函數(shù)

Python元組包含了以下內置函數(shù)

 

序號

方法及描

1

len(t)  計算元組元素個數(shù)。

   


2

max(t) 返回元組中元素最大值。

   


3

min(t) 返回元組中元素最小值

   


4

tuple(li) 將列表轉換為元組

   


5

index():返回指定元素第一次出現(xiàn)的索引位置

count():指定元素出現(xiàn)的次數(shù)

例如:

  

 

 


本文出自 “一盞燭光” 博客,謝絕轉載!

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號