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