<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python中dict詳解

      python3.0以上,print函數(shù)應(yīng)為print(),不存在dict.iteritems()這個(gè)函數(shù)。

      在python中寫(xiě)中文注釋會(huì)報(bào)錯(cuò),這時(shí)只要在頭部加上# coding=gbk即可

      #字典的添加、刪除、修改操作
      dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
      dict["w"] = "watermelon"
      del(dict["a"])
      dict["g"] = "grapefruit"
      print dict.pop("b")
      print dict
      dict.clear()
      print dict
      #字典的遍歷
      dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
      for k in dict:
          print "dict[%s] =" % k,dict[k]
      #字典items()的使用
      dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
      #每個(gè)元素是一個(gè)key和value組成的元組,以列表的方式輸出
      print dict.items()
      #調(diào)用items()實(shí)現(xiàn)字典的遍歷
      dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
      for (k, v) in dict.items():
          print "dict[%s] =" % k, v
      #調(diào)用iteritems()實(shí)現(xiàn)字典的遍歷
      dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
      print dict.iteritems()
      for k, v in dict.iteritems():
          print "dict[%s] =" % k, v
      for (k, v) in zip(dict.iterkeys(), dict.itervalues()):
          print "dict[%s] =" % k, v
         
      #使用列表、字典作為字典的值
      dict = {"a" : ("apple",), "bo" : {"b" : "banana", "o" : "orange"}, "g" : ["grape","grapefruit"]}
      print dict["a"]
      print dict["a"][0]
      print dict["bo"]
      print dict["bo"]["o"]
      print dict["g"]
      print dict["g"][1]
       
      dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
      #輸出key的列表
      print dict.keys()
      #輸出value的列表
      print dict.values()
      #每個(gè)元素是一個(gè)key和value組成的元組,以列表的方式輸出
      print dict.items()
      dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
      it = dict.iteritems()
      print it
      #字典中元素的獲取方法
      dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}
      print dict
      print dict.get("c", "apple")         
      print dict.get("e", "apple")
      #get()的等價(jià)語(yǔ)句
      D = {"key1" : "value1", "key2" : "value2"}
      if "key1" in D:
          print D["key1"]
      else:
          print "None"
      #字典的更新
      dict = {"a" : "apple", "b" : "banana"}
      print dict
      dict2 = {"c" : "grape", "d" : "orange"}
      dict.update(dict2)
      print dict
      #udpate()的等價(jià)語(yǔ)句
      D = {"key1" : "value1", "key2" : "value2"}
      E = {"key3" : "value3", "key4" : "value4"}
      for k in E:
          D[k] = E[k]
      print D
      #字典E中含有字典D中的key
      D = {"key1" : "value1", "key2" : "value2"}
      E = {"key2" : "value3", "key4" : "value4"}
      for k in E:
          D[k] = E[k]
      print D
      #設(shè)置默認(rèn)值
      dict = {}
      dict.setdefault("a")
      print dict
      dict["a"] = "apple"
      dict.setdefault("a","default")
      print dict
      #調(diào)用sorted()排序
      dict = {"a" : "apple", "b" : "grape", "c" : "orange", "d" : "banana"}
      print dict  
      #按照key排序 
      print sorted(dict.items(), key=lambda d: d[0])
      #按照value排序 
      print sorted(dict.items(), key=lambda d: d[1])
      #字典的淺拷貝
      dict = {"a" : "apple", "b" : "grape"}
      dict2 = {"c" : "orange", "d" : "banana"}
      dict2 = dict.copy()
      print dict2

      #字典的深拷貝
      import copy
      dict = {"a" : "apple", "b" : {"g" : "grape","o" : "orange"}}
      dict2 = copy.deepcopy(dict)
      dict3 = copy.copy(dict)
      dict2["b"]["g"] = "orange"
      print dict
      dict3["b"]["g"] = "orange"
      print dict

      補(bǔ)充:
      1 初始化
      >>> d = dict(name='visaya', age=20)
      >>> d = dict(zip(['name', 'age'], ['visaya', 20]))

      #dict.fromkeys(listkeys, default=0) 把listkeys中的元素作為key均賦值為value,默認(rèn)為0
      >>> d = dict.fromkeys(['a', 'b'], 1)
      >>> d
      {'a': 1, 'b': 1}
      2 字典視圖和幾何
      dict.keys()類(lèi)似信使可以進(jìn)行交集和并集等集合操作(類(lèi)似集合,因?yàn)椴淮嬖谥貜?fù)的項(xiàng)),但dict.values()不可以進(jìn)行如上操作。


      >>> k = d.keys()
      >>> k
      dict_keys(['a', 'b'])
      >>> list(k)
      ['a', 'b']
      >>> k | {'x': 3}
      {'a', 'x', 'b'}
      >>> k | {'x'}
      {'a', 'x', 'b'}
      >>> k | {'x', 'y'}
      {'a', 'y', 'b', 'x'}
      >>> k & {'x'}
      set()
      >>> v = d.values()
      >>> v
      dict_values([1, 2])
      >>> v | {'x'}
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      TypeError: unsupported operand type(s) for |: 'dict_values' and 'set'
      3 排序字典鍵
      兩種方法:
      3.1 sort:
      >>> Ks = list(d.keys())
      >>> Ks.sort()
      >>> for k in Ks:
      ...     print(k, d[k])
      ... 
      a 1
      b 2
      3.2 sorted:
      >>> for k in sorted(d.keys()):
      ...     print(k, d[k])
      ... 
      a 1
      b 2

      3.3 注意
      >>> for k in list(d.keys()).sort():
      ...     print(k, d[k])
      ... 
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      TypeError: 'NoneType' object is not iterable


      出錯(cuò)原因:
      list.sort() list.append()函數(shù)都是對(duì)自身的操作,沒(méi)有返回值,故需先將list(d.keys())的結(jié)果保存下來(lái),在結(jié)果上進(jìn)行sort()
      4 常用函數(shù)
      4.1 get()
      D.get(k[, d])   => D[k] if k in D else d. d defaults to none.
      4.2 pop()
      D.pop(value[, d])   => Remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised.
      4.3 udpate()
          D.update(E, **F) -> None.  Update D from dict/iterable E and F.
          If E has a .keys() method, does:     for k in E: D[k] = E[k]
          If E lacks .keys() method, does:     for (k, v) in E: D[k] = v
          In either case, this is followed by: for k in F: D[k] = F[k]

      >>> d = dict(name='visaya', age=21)
      >>> d1= {'age': 20, 'sex': 'male'}
      >>> d2 = zip(['a', 'b'], [1, 2])


      >>> d.update(d1)
      >>> d
      {'age': 20, 'name': 'visaya', 'sex': 'male'}
      #for k in d1: d[k] = d1[k]


      >>> d.update(d2)
      >>> d
      {'age': 20, 'name': 'visaya', 'sex': 'male'}
      #for (k, v) in d2: d[k] = v
      4.4 del()
      del D[key]
      4.5 clear()
      4.6 copy()
      Python中的dict
      初始化
      構(gòu)造方法創(chuàng)建
      Python代碼  
      d = dict()  
      d = dict(name="nico", age=23)  
      d = dict((['name', "nico"], ['age', 23]))  
       當(dāng)然還有更方便,簡(jiǎn)單的
      Python代碼  
      d = {}  
      d = {"name":"nico", "age":23}  
       
       
      遍歷
      通過(guò)對(duì)key的遍歷,遍歷整個(gè)dict
       
      Python代碼  
      d = {"name":"nico", "age":23}  
      for key in d:  
          print "key=%s, value=%s" % (key, d[key])  
            
      for key in d.iterkeys():  
          print "key=%s, value=%s" % (key, d[key])  
            
      for key in d.keys():  
          print "key=%s, value=%s" % (key, d[key])  
            
      for key in iter(d):  
          print "key=%s, value=%s" % (key, d[key])  
            
      for key,item in d.items():  
          print "key=%s, value=%s" % (key, item)  
       
       當(dāng)然也可以直接遍歷value
       
      Python代碼  
      d = {"name":"nico", "age":23}  
      for value in d.values():  
          print value  
            
      for key,value in d.viewitems():  
          print "key=%s, value=%s" % (key, value)  
        
      for value in d.viewvalues():  
          print "value=%s" % (value)  
      這里values和viewvalues的區(qū)別
       
      后者返回的是該字典的一個(gè)view對(duì)象,類(lèi)似數(shù)據(jù)庫(kù)中的view,當(dāng)dict改變時(shí),該view對(duì)象也跟著改變
       
      常用方法
       
      Python代碼  
      d = {"name":"nico", "age":23}  
      d["name"] = "aaaa"  
      d["address"] = "abcdefg...."  
      print d   #{'age': 23, 'name': 'aaaa', 'address': 'abcdefg....'}  
       
       
      獲取dict值
      Python代碼  
      print d["name"]               #nico  
      print d.get("name")         #nico  
       
       如果key不在dict中,返回default,沒(méi)有為None
      Python代碼  
      print d.get("namex", "aaa")       #aaa  
      print d.get("namex")                  #None  
       
      排序sorted()
      Python代碼  
      d = {"name":"nico", "age":23}  
      for key in sorted(d):  
          print "key=%s, value=%s" % (key, d[key])  
      #key=age, value=23  
      #key=name, value=nico  
       
       
      刪除del
      Python代碼  
      d = {"name":"nico", "age":23}  
      Python代碼  
      del d["name"]  
      #如果key不在dict中,拋出KeyError  
      del d["names"]  
      Python代碼  
      Traceback (most recent call last):  
        File "F:\workspace\project\pydev\src\ddd\ddddd.py", line 64, in <module>  
          del d["names"]  
      KeyError: 'names'  
       
       
      清空clear()
      Python代碼  
      d = {"name":"nico", "age":23}  
      d.clear()  
      print d                                                    #{}  
       
      copy()
      Python代碼  
      d1 = d.copy()               #{'age': 23, 'name': 'nico'}  
      #使用返回view對(duì)象  
      d2 = d1.viewitems()    #dict_items([('age', 23), ('name', 'nico')])  
      #修改字典d1,新增元素  
      d1["cc"] = "aaaaaa"   
      print d2                   
      #dict_items([('cc', 'aaaaaa'), ('age', 23), ('name', 'nico')])  
       
       
      pop(key[, default])
      如果key在dict中,返回,不在返回default
      Python代碼  
      #如果key在dict中,返回,不在返回default  
      print d.pop("name", "niccco")                #nico  
      print d.pop("namezzz", "niccco")           #niccco  
      #key不在dict中,且default值也沒(méi)有,拋出KeyError  
      print d.pop("namezzz")                         #此處拋出KeyError  
       
      popitem()
      刪除并返回dict中任意的一個(gè)(key,value)隊(duì),如果字典為空會(huì)拋出KeyError
      Python代碼  
      d = {"name":"nico", "age":23}  
      print d.popitem()       #('age', 23)  
      print d.popitem()       #('name', 'nico')  
      #此時(shí)字典d已為空  
      print d.popitem()      #此處會(huì)拋出KeyError  
       
      update([other])
      將字典other中的元素加到dict中,key重復(fù)時(shí)將用other中的值覆蓋
      Python代碼  
      d = {"name":"nico", "age":23}  
      d2 = {"name":"jack", "abcd":123}  
      d.update(d2)  
      print d     #{'abcd': 123, 'age': 23, 'name': 'jack'} 

       

      原文出處:http://blog.csdn.net/tianmo2010/article/details/7621424

      posted on 2012-09-17 10:31  yangyzh  閱讀(249977)  評(píng)論(1)    收藏  舉報(bào)

      主站蜘蛛池模板: 精品国产成人国产在线视| 欧美一区二区三区激情| 午夜射精日本三级| 色欲狠狠躁天天躁无码中文字幕 | 激情综合网激情激情五月天| 最近中文字幕完整版| 奶头好大揉着好爽视频| 久久日产一线二线三线| 熟女人妻视频| 精品亚洲国产成人av在线| 性色在线视频精品| 天天躁夜夜躁天干天干2020| 久久久久香蕉国产线看观看伊| 亚洲最大成人av在线天堂网| 五月天天天综合精品无码| 中国熟女仑乱hd| av激情亚洲男人的天堂| 国产av黄色一区二区三区| 久热久视频免费在线观看| 欲香欲色天天天综合和网| 亚洲欧洲一区二区天堂久久| 无码AV无码免费一区二区| 国产永久免费高清在线| 国产精品午夜爆乳美女视频| 女人喷水高潮时的视频网站| 亚洲欧美自偷自拍视频图片| 精品久久久久无码| 国产乱码1卡二卡3卡四卡5| 日韩精品有码中文字幕| 亚洲自拍偷拍一区二区三区| 久久人人妻人人做人人爽| 2018年亚洲欧美在线v| 2018av天堂在线视频精品观看 | 国产精品久久久久7777| 光山县| 99久久国产精品无码| 91精品国产福利尤物免费| 看亚洲黄色不在线网占| 少妇被无套内谢免费看| 成人片黄网站色大片免费| 亚洲AV无码东方伊甸园|