Python Dictionary and List

2
DictionarDictionary
• clear( )從字典刪除所有項
• copy( )創建並返回字典的淺拷貝(新字典元素爲原始字典
的引用)
• get(key [ ,returnvalue] )返回key的值,若無key而指定了
returnvalue,則返回returnvalue值,若無此值則返回None
• has_key( key )如果key存在於字典中,就返回1(真);否
則返回0(假)
• items( )返回一個由元組構成的列表,每個元組包含一對鍵
-值對

• keys( )返回一個由字典所有鍵構成的列表


3
Dictionary (續)
• popitem( )刪除任意鍵-值對,並作爲兩個元素的元組返回。
如字典爲空,則返回KeyError異常
• setdefault( key [,dummvalue])具有與get方法類似的行爲。
如key不在字典中,同時指定了dummvalue,就將鍵(key)
和指定的值(dummvalue)插入字典,如果沒有指定
dummvalue,則值爲None
• update( newDictionary )將來自newDictionary的所有鍵-值添
加到當前字典,並覆蓋同名鍵的值
• values( )返回字典所有值組成的一個列表
• iterkeys( )返回字典鍵的一個迭代器
• iteritems( )返回字典鍵-值對的一個迭代器
• itervalues( )返回字典值的一個迭代器

4
List
• append( item ) 在列表末尾插入(item )
• count( element ) 返回element在列表中出現的次數
• extend( newlist ) 將newlist的元素插入列表末尾
• index( element ) 返回element在列表中的索引,如果不存
在,則引發ValueError異常
• insert( index , item ) 在index位置插入item

5
List(續)
• pop( [index] ) index參數爲可選的。如無參調用,則
會刪除並返回列表最後一個元素。如指定index參數,則刪
除並返回位置index的元素
• remove( element ) 刪除首次在列表中出現的element,如果
列表不存在element,則引發ValueError異常
• reverse( ) 當場反轉列表內容(不創建反轉列表的拷貝)
• sort 當場對列表內容排序。可選參數compare-function是一
個函數,它指定了比較條件
• compare-function取得列表的任意兩個元素(x和y)。如果
x應出現在y之前,就範圍-1;如果x和y的順序無關緊要,
返回0;如果x應出現在y之後,則返回1

6
Dictionary clear( )
In [8]: a={"a":1,"b":2}
In [9]: a
Out[9]: {'a': 1, 'b': 2}
In [11]: a.clear()
In [12]: a
Out[12]: {}

7
DictionarDictionary copy( )
In [37]: a={"a":1,"b":2}
In [38]: b=a.copy()
In [39]: b
Out[39]: {'a': 1, 'b': 2}
In [40]: b['a']=3
In [41]: b
Out[41]: {'a': 3, 'b': 2}
In [42]: a
Out[42]: {'a': 1, 'b': 2}
In [43]: a['b']=4
In [44]: a
Out[44]: {'a': 1, 'b': 4}
In [45]: b
Out[45]: {'a': 3, 'b': 2}

8
DictionarDictionary copy( )續
• In [51]: class A():
• ....: def __init__(self):
• ....: self.date1=1
• ....: self.date2=2
• In [52]: o=A()
• In [53]: o
• Out[53]: <__main__.A instance at 0x998a9cc>
• In [54]: a={'a':o}
• In [55]: a
• Out[55]: {'a': <__main__.A instance at 0x998a9cc>}
• In [58]: b=a.copy()
• In [59]: b
• Out[59]: {'a': <__main__.A instance at 0x998a9cc>}
• In [60]: b['a'].date1
• Out[60]: 1
• In [61]: b['a'].date1=3
• In [62]: b['a'].date1
• Out[62]: 3
• In [63]: a['a'].date1
• Out[63]: 3

9
DictionarDictionary get( )
In [1]:
In [2]: a={"a":1,'b':2}
In [3]: a
Out[3]: {'a': 1, 'b': 2}
In [4]: a.get('a',0)
Out[4]: 1
In [5]: a.get('c',0)
Out[5]: 0


10
DictionarDictionary has_key( )
In [1]: a={"a":1,'b':2}
In [2]: a
Out[2]: {'a': 1, 'b': 2}
In [3]: a.has_key('a')
Out[3]: True
In [4]: a.has_key('c')
Out[4]: False


11
DictionarDictionary items( )
In [5]: a
Out[5]: {'a': 1, 'b': 2}
In [6]: a.items()
Out[6]: [('a', 1), ('b', 2)]


12
DictionarDictionary keys( )
In [7]: a
Out[7]: {'a': 1, 'b': 2}
In [8]: a.keys()
Out[8]: ['a', 'b']


13
DictionarDictionary popitem( )
In [13]: a={"a":1,'b':2}
In [14]: a.popitem()
Out[14]: ('a', 1)
In [15]: a
Out[15]: {'b': 2}
In [16]: a.popitem()
Out[16]: ('b', 2)
In [17]: a
Out[17]: {}


14
DictionarDictionary setdefault( )
In [18]: a={"a":1,'b':2}
In [19]: a.setdefault('a',2)
Out[19]: 1
In [20]: a
Out[20]: {'a': 1, 'b': 2}
In [21]: a.setdefault('c',3)
Out[21]: 3
In [22]: a
Out[22]: {'a': 1, 'b': 2, 'c': 3}
In [23]: a.setdefault('d')
In [24]: a
Out[24]: {'a': 1, 'b': 2, 'c': 3, 'd': None}


15
DictionarDictionary update( )
In [33]: class A():
....: def __init__(self,d):
....: self.data=d
In [39]: a={}
In [40]: a['1']=obj1
In [41]: a['2']=obj2
In [43]: b={}
In [45]: b['1']=obj2
In [46]: b.update(a)
In [49]: b['1'].data
Out[49]: 'obj1'
In [50]: b['2'].data
Out[50]: 'obj2'
In [51]: b['1'].data='dddd'
In [52]: b['1'].data
Out[52]: 'dddd'
In [54]: a['1'].data
Out[54]: 'dddd'


16
DictionarDictionary values( )
• In [56]: a={'a': 1, 'b': 2, 'c': 3, 'd': None}
• In [57]: a
• Out[57]: {'a': 1, 'b': 2, 'c': 3, 'd': None}
• In [58]: a.values()
• Out[58]: [1, 3, 2, None]


17
DictionarDictionary iterkeys( )
• In [65]: a
• Out[65]: {'a': 1, 'b': 2, 'c': 3, 'd': None}
• In [66]: iter=a.iterkeys()
• In [69]: type(iter)
• Out[69]: <type 'dictionary-keyiterator'>
• In [81]: list(iter)
• Out[81]: ['a', 'c', 'b', 'd']
• In [82]: list(iter)
• Out[82]: []


18
DictionarDictionary iterkeys( )
• In [83]: a
• Out[83]: {'a': 1, 'b': 2, 'c': 3, 'd': None}
• In [84]: iter=a.iterkeys()
• In [85]: def fun():
• ....: for i in iter:
• ....: print i
• ....:
• ....:
• In [86]: fun()
• a
• c
• b
• d
• In [87]: fun()
• In [88]:


19
DictionarDictionary iteritems( )
• In [100]: a
• Out[100]: {'a': 1, 'b': 2, 'c': 3, 'd': None}
• In [101]: iter=a.iteritems()
• In [102]: def fun():
• .....: for i in iter:
• .....: print i
• In [103]: fun()
• ('a', 1)
• ('c', 3)
• ('b', 2)
• ('d', None)
• In [104]: list(iter)
• Out[104]: []
• In [105]: iter=a.iteritems()
• In [106]: list(iter)
• Out[106]: [('a', 1), ('c', 3), ('b', 2), ('d', None)]


20
DictionarDictionary iteritems( )續
• In [111]: iter=a.iteritems()
• In [112]: def fun():
• .....: for i in iter:
• .....: print i[1],i[0]
• .....:
• .....:
• In [113]: fun()
• 1 a
• 3 c
• 2 b
• None d


21
DictionarDictionary itervalues( )
• In [114]: a
• Out[114]: {'a': 1, 'b': 2, 'c': 3, 'd': None}
• In [115]: iter=a.itervalues()
• In [116]: list(iter)
• Out[116]: [1, 3, 2, None]
• In [117]: list(iter)
• Out[117]: []


22
List appenList append()
• In [120]: a=[]
• In [121]: a
• Out[121]: []
• In [122]: a.append(1)
• In [123]: a
• Out[123]: [1]
• In [124]: a.append(2)
• In [125]: a
• Out[125]: [1, 2]


23
List elementList count(element)
• In [126]: a=[1,2,3,3,3,5,7,6,2]
• In [127]: a.count(3)
• Out[127]: 3
• In [128]: a.count(5)
• Out[128]: 1
• In [129]: a.count(2)
• Out[129]: 2


24
List newlistList extend(newlist)
• In [130]: a=[1,2,3]
• In [131]: b=[2,3,4]
• In [132]: c=[4,5,6]
• In [133]: a
• Out[133]: [1, 2, 3]
• In [134]: b
• Out[134]: [2, 3, 4]
• In [135]: c
• Out[135]: [4, 5, 6]
• In [136]: a.extend(b)
• In [137]: a
• Out[137]: [1, 2, 3, 2, 3, 4]
• In [138]: a.extend(c)
• In [139]: a
• Out[139]: [1, 2, 3, 2, 3, 4, 4, 5, 6]
• In [140]: b
• Out[140]: [2, 3, 4]


25
List indeList index()insert()
• In [142]: a=[9,8,6,7,4,5]
• In [143]: a.index(8)
• Out[143]: 1
• In [144]: a.index(9)
• Out[144]: 0
• In [148]: a=[9,8,6,7,4,5]
• In [149]: a.insert(3,10)
• In [150]: a
• Out[150]: [9, 8, 6, 10, 7, 4, 5]


26
[List pop( index] )
• In [150]: a
• Out[150]: [9, 8, 6, 10, 7, 4, 5]
• In [151]: a.pop()
• Out[151]: 5
• In [152]: a
• Out[152]: [9, 8, 6, 10, 7, 4]
• In [153]: a.pop(2)
• Out[153]: 6
• In [154]: a
• Out[154]: [9, 8, 10, 7, 4]


27
List elementList remove(element)
• In [155]: a=[1,2,3,4,5,4,7,8,2,2,3]
• In [156]: a.remove(2)
• In [157]: a
• Out[157]: [1, 3, 4, 5, 4, 7, 8, 2, 2, 3]
• In [158]: a.remove(11)
• ---------------------------------------------------------------------------
• ValueError Traceback (most recent call last)
• /home/gordon/build/pro/<ipython console> in <module>()
• ValueError: list.remove(x): x not in list


28
List reverse( )
• In [159]: a
• Out[159]: [1, 3, 4, 5, 4, 7, 8, 2, 2, 3]
• In [160]: a.reverse( )
• In [161]: a
• Out[161]: [3, 2, 2, 8, 7, 4, 5, 4, 3, 1]


29
List sort( )
• In [162]: a
• Out[162]: [3, 2, 2, 8, 7, 4, 5, 4, 3, 1]
• In [164]: a.sort()
• In [165]: a
• Out[165]: [1, 2, 2, 3, 3, 4, 4, 5, 7, 8]
• In [167]: a
• Out[167]: [1, 2, 2, 3, 3, 4, 4, 5, 7, 8]
• In [168]: def fun(x,y):
• .....: if x > y:
• .....: return -1
• .....: elif x== y:
• .....: return 0
• .....: else:
• .....: return 1
• In [169]: a.sort(fun)
• In [170]: a
• Out[170]: [8, 7, 5, 4, 4, 3, 3, 2, 2, 1]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章