天天看點

【每日一記3.16】python學習記錄

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] 删除。