1. 程式人生 > >python之列表 元組 字典 字串

python之列表 元組 字典 字串

列表

列表是一種有序可重複的序列,可以隨意的增/刪/改/查,每個元素的位置都分配了一個數字索引,從0 開始,依次遞增。

××通過位置索引操作list××

list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1234]
list1[0]    #訪問
list2[1:4]  #訪問,包含1不包含4
list1[-1]   #訪問倒數第一個元素
list[-4:]   #訪問從倒數第四個元素開始到最後一個元素
list[2] = 2001  #更新
del list[2]     #刪除

××list操作符××

list1+list2     #列表拼接
list3+=list1 #列表拼接 len(list1) #列表元素的個數 min(list) #返回列表最小值 max(list) #返回列表最大追值 list(元祖) #將元組轉化成列表 ['Hi!'] * 4 #結果['Hi!', 'Hi!', 'Hi!', 'Hi!'] 3 in list #元素3是否存在於list中,存在返回True,否則返回False,經常那個用在if或while的條件判斷中 for x in list1: print(x, end=" ") #迭代,x一次取值list1中元素的值 ××list操作方法×× list
.append(”abc“) #在列表末尾追加新的物件,物件可以是任意型別,比如列表,元組,字典等都可 list.count('Google') #統計元素'Google'在列表中出現的次數 list.extend(seq) #跟符號 + 的功能類似,將seq的元素依次拼接到list的末尾 list.index('Google') #返回'Google'第一次 出現的索引位置 list.insert(3, "abc") #將元素"abc"插入到位置3處 list.pop() #移除列表中的最後一個元素,並返回該元素 list.remove(obj) #移除值obj的第一次匹配
list.clear() #清空列表list list.copy() #複製列表list

元組

元組和列表類似,不同之處在於元組的元素不能修改,但訪問,拼接,清空都還是可以的

tup1 = ('Google', 'Runoob', 1997, 2000)   #建立元組
tup2 = "a", "b", "c", "d"       #   建立元組時可以不加括號
tup13= (50,)        #元組只有一個元素時,元素後使用逗號

訪問元組跟list一樣,tuple[1] tuple[-1] tuple[1:5]
元組中的元素是不能被修改的,但是我們可以拼接,tup1 + tup2
元組中的元素是不能被刪除的,但是我們可以清空,del tup

元組運算子

運算子 結果 描述
len((1, 2, 3)) 3 計算元素個數
(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 迭代
**內建函式**
len(tuple)      #元組元素的個數
 max()          #最大值
 min()          #最小值
 tuple(seq) #將列表轉化為元組

字典

字典是一種非序列集合,即字典是無序的,可儲存任意型別物件。鍵必須是唯一的且不可改變,但值可以相同,也可改變。

**通過下標訪問,修改,增加字典**

dict={'name': 'czz', 'age': 32, 'class': 'first', 1: 'number', (1, 2, 3): 'tuple'}      #定義字典,字典的鍵型別可以是字串/數字/元組,但是不能為list
dict['name']                      #使用鍵值訪問字典元素
dict['love']="money"        #鍵名不存在,則增加元素
dict['name']='tjy'          #鍵名存在,則修改元素的值為"tjy"
 ```
 **內建函式**

dict={'name': 'czz', 'age': 32, 'class': 'first'} 
len(dict)               #鍵值對的個數,結果為3
str(dict)               #以字串形式輸出字典,“dict”
type(dict)              #檢視字典的型別,輸出<class 'dict'>

**內建方法**
dict={'name': 'czz', 'age': 32, 'class': 'first'} 
dict.copy()
dict.fromkeys()
dict.get(’name‘)/dict.get(’name‘,"111")#返回指定鍵的值,如果鍵不存在,返回預設值“111”
dict.setdefault('111','111')#如果鍵存在,返回指定鍵的值,如果鍵不存在,將鍵值對寫入字典,並返回對應的值;跟get()類似
key in dict     #判斷鍵值知否在dict中,如果存在返回True,不存在返回False

dict.update(dict2) #將字典dict2內容更新到dict中

dict.items() #python3中,返回的是迭代器,dict_items([('name', 'czz'), ('age', 32), ('class', 'first')]),使用list()獲取列表形式的鍵值對;python3中沒有iteritems()函式
dict.keys() #返回一個迭代器,dict_keys(['name', 'age', 'class']),使用list()可獲得字典的所有鍵
dict.values()   #返回一個迭代器,dict_values(['czz', 32, 'first'])使用list()可獲得字典的所有值

dict.pop(”name“)        #刪除給定鍵的對應的值
dict.popitem()          #隨機返回並刪除字典中的一個鍵值對
dict.clear()        #清空字典

字典的遍歷

 dict={'name': 'czz', 'age': 32, 'class': 'first'}
 for (key,value) in dict.items():   #字典遍歷鍵-值
     print(key,value)
結果為:
name czz
age 32
class first

    >>> for items in dict.items():#遍歷字典的項
...     print (items)
...
('name', 'czz')
('age', 32)
('class', 'first')

>>> for key in dict:    #遍歷字典的鍵
...     print(key)
...
name
age
class
>>> for key in dict.keys(): #遍歷字典的鍵
...     print(key)
...
name
age
class

>>> for value in dict.values():    #遍歷字典的值
...     print(value)
...
czz
32
first

字串

hahah=

###sort和sorted
Python list內建sort()方法用來排序,也可以用python內建的全域性sorted()方法來對可迭代的序列排序生成新的序列。

sorted(iterable,key=None,reverse=False),返回新的列表,對所有可迭代的物件均有效
sort(key=None,reverse=False) 就地改變列表 reverse:True反序;False 正序

>>> a=[5,4,3,2,1]
>>> sorted(a)
[1, 2, 3, 4, 5]   #產生一個新的排序列表
>>> print(a)
[5, 4, 3, 2, 1]   #sorted()函式,沒有改變a的順序,說明sorted()不是修改的原list
>>> a.sort()
>>> print(a)
[1, 2, 3, 4, 5]  #sort()函式修改了a的順序,說明是在原來列表上直接修改的順序
>>> sorted(a,reverse=True)#對列表降序排序
[5, 4, 3, 2, 1]
#當list中的元素是元組時,上面的方法就處理不了了,我們需要用到引數key,也就是關鍵詞,看下面這句命令,lambda是一個隱函式,是固定寫法,不要寫成別的單詞;x表示列表中的一個元素,在這裡,表示一個元組,x只是臨時起的一個名字,你可以使用任意的名字;x[0]表示元組裡的第一個元素,當然第二個元素就是x[1];
>>> a={('b',4),('a',0),('c',2),('d',3)}
>>> sorted(a,key=lambda x:x[1])
[('a', 0), ('c', 2), ('d', 3), ('b', 4)]
>>> sorted(a,key=lambda x:x[1],reverse=True
[('b', 4), ('d', 3), ('c', 2), ('a', 0)]