6.Python的清單
Python清單是python内置的資料對象之一
清單用【】包含,内有資料對象,每個資料對象以‘,’分隔,每個資料對象稱為元素
python是一個有序的序列,支援嵌套
【】空清單,同時用list(‘strings’)函數也可以生成清單
清單方法:
- append(object):将新的元素追加到清單後面,隻能追加一個
In [52]: l=list('TCQ')
In [53]: l
Out[53]: ['T', 'C', 'Q']
In [54]: l.append('ws')
In [55]: l
Out[55]: ['T', 'C', 'Q', 'ws']
- count(value):統計每個對象在清單中出現的次數,傳回值為number
In [56]: l=list('1223334445555')
In [56]: l.count('4')
Out[56]: 3
In [57]: type(l.count('4'))
Out[57]: int
- extend(iterable)将可疊代的對象拆分,追加到清單後面
In [58]: l=list('TCQ')
In [59]: l.extend('ws')
In [60]: l
Out[60]: ['T', 'C', 'Q', 'w', 's']
- index(value[,start[,stop]])
根據清單内的元素查找對應的索引,傳回值為number
In [61]: l.index('T',0,len(l)-1)
Out[61]: 0
- insert(index,object)
在指定索引位插入對象,相當于list[n]=object
In [62]: l.insert(3,'D')
In [63]: l
Out[63]: ['T', 'C', 'Q', 'D', 'w', 's']
- pop(index)
彈出指定索引對應的元素
In [64]: l.pop(3)
Out[64]: 'D'
In [65]: l
Out[65]: ['T', 'C', 'Q', 'w', 's']
- remove(value)
删除指定的元素,若不存在傳回ValuerError
In [66]: l.remove('w')
In [67]: l
Out[67]: ['T', 'C', 'Q', 's']
In [68]: type(l.remove('T'))
Out[68]: NoneType
- reverse()
将清單内的元素順序前後對掉,不是反排序
In [69]: l.reverse()
In [70]: l
Out[70]: ['s', 'w', 'Q', 'C', 'T']
- sort()
将清單内的元素進行排序,順序為0-9,A-Z,a-z
reverse=True反排序
In [71]: l
Out[71]: ['a', 'A', '1', 'B', '2', 'b', '3', 'C', 'c']
In [72]: l.sort()
In [73]: l
Out[73]: ['1', '2', '3', 'A', 'B', 'C', 'a', 'b', 'c']
In [74]: l.sort(reverse=True)
In [75]: l
Out[75]: ['c', 'b', 'a', 'C', 'B', 'A', '3', '2', '1']
- list[index]=value
根據索引查元素
In [87]: l[2]
Out[87]: 'Q'
- del list[index]
删除索引對應的值
In [88]: del l[2]
In [89]: l
Out[89]: ['T', 'C', 'w', 's']
7.Python字典
用{}包裹,每個鍵值對由:分隔,鍵與值用冒号相連
字典是無序的,鍵必須唯一
字典是python中的映射資料類型
{'name':'tcq','age':24,'address':'Beijing'}
In [90]: {}.fromkeys(['key1','key2','key3'])
Out[90]: {'key1': None, 'key2': None, 'key3': None}
使用字典函數建立字典:
In [91]: dict((['x',1],['y',2]))
Out[91]: {'x': 1, 'y': 2}
通路字典:
In [92]:d={'name':'tcq','age':24,'address':'Beijing'}
In [93]: d['name']
Out[93]: 'tcq'
字典更新:鍵值有則更新,無則添加
In [94]: d['new_key']='new_key'
In [95]: d
Out[95]: {'address': 'Beijing', 'age': 24, 'name': 'tcq', 'new_key': 'new_key'}
字典删除:
In [96]: del d['new_key']
字典方法:
- values()擷取鍵對應的值
In [97]: d.values()
Out[97]: [24, 'tcq', 'Beijing']
- keys()擷取鍵
In [98]: d.keys()
Out[98]: ['age', 'name', 'address']
- pop(k,[d])彈出指定鍵對應的值,如果沒找到傳回d
In [99]: d.pop('name')
Out[99]: 'tcq'
In [100]: d.pop('name','no')
Out[100]: 'no'
- update()更新字典内鍵與值,鍵名即使是字元串也不加引号
In [1]: d.update(name='tcqws')
In [2]: d
Out[2]: {'address': 'Beijing', 'age': 24, 'name': 'tcqws'}
- get()擷取字典中鍵對應的值,與dict['keyname']相同
In [3]: d.get('name')
Out[3]: 'tcqws'
- items()将字典的每一個鍵和值放在一個元組中,多個元組存放在清單中
In [4]: d.items()
Out[4]: [('age', 24), ('name', 'tcqws'), ('address', 'Beijing')]
In [5]: type(d.items())
Out[5]: list
- popitem()随機删除字典中的一個鍵值對,并以元組方式傳回
In [6]: d.popitem()
Out[6]: ('age', 24)
- viewitems()傳回字典元素視圖
- keyitems()傳回字典鍵視圖
- valueitems()傳回字典值視圖
- iteritems()傳回字典dict的疊代對象
- iterkeys()傳回字典dict的鍵的疊代對象
- itervalues()傳回字典dict的值的疊代對象
- setfault(k,[d])如果鍵在字典中,則傳回鍵對應的值,如果不在,則建立該鍵,值為預設的None或者是d
In [7]: d.setdefault('name')
Out[7]: 'tcqws'
In [8]: d.setdefault('name1')
In [9]: d
Out[9]: {'address': 'Beijing', 'age': 24, 'name': 'tcqws', 'name1': None}
- copy()産生字典副本
In [10]: d1=d.copy()
In [11]: id(d)
Out[11]: 27333328
In [12]: id(d1)
Out[12]: 27661392
In [13]: d is d1
Out[13]: False
- clear()清除字典内的所有鍵和值
In [14]: d1.clear()
In [15]: d1
Out[15]: {}
- has_key()判斷字典中是否由指定的鍵
In [16]: d.has_key('name')
Out[16]: True
Python 中被in替代
字典視圖:
在2.7版本以後,Python引入了字典視圖。字典視圖是字典的動态視圖:會與字典保持同步,實時反映出字典的變化。
疊代對象:
就是一個疊代器,會傳回目前的資料,然後自動的調用内置的next()方法來讀取,自動的移動到下一個元素,準備下次的讀取,直到對象末尾
8.Python元組
元組多數情況下,用于系統的輸入或者系統的傳回,元組的特性是不可修改,但支援疊代
元組隻有count與index兩種方法
元組以()來定義,以‘,’分隔,源所可以是任何資料對象
In [17]: t=('name','age','name','address')
In [18]: t.count('name')
Out[18]: 2
In [19]: t.index('name')
Out[19]: 0
本文參與 騰訊雲自媒體分享計劃 ,歡迎熱愛寫作的你一起參與!
本文分享自作者個人站點/部落格
http://www.py3study.com/
複制
如有侵權,請聯系 [email protected] 删除。