乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python之字典

       印度阿三17 2019-05-16

      字典是無序的對象集合,使用鍵來存取索引,鍵必須是惟一的,值可以存取任何數(shù)據(jù)類型,但是鍵只能使用字符串、數(shù)字或元組,使用值來存取數(shù)據(jù),通常用于存儲描述一個物體的相關信息。

      創(chuàng)建字典

      name = {'zhangsan': 12,'lisi': 15,'boxiaoyuan': 22}
      print(name) # {'lisi': 15, 'boxiaoyuan': 22, 'zhangsan': 12}

      注:字典由多個鍵及對應的值組成,鍵和值使用冒號分割,字典中鍵的值必須唯一,而值不需要,另外,字典中的鍵必須是不可變的,如:字符串,元組和數(shù)字。、

      訪問字典

      age={'zhangsan': 12,'lisi': 15,'boxiaoyuan': 22}
      print('age:', age['zhangsan']) # age: 12

      修改字典

      age={'zhangsan': 12,'lisi': 15,'boxiaoyuan': 22}
      age['zhangsan'] = 19 # 修改一個元素的值
      age['bokeyuan'] = 33 # 添加一個元素的值
      print(age) # {'zhangsan': 19, 'bokeyuan': 33, 'boxiaoyuan': 22, 'lisi': 15}

      刪除字典

      刪除字典可以刪除對應的鍵值對,也可以刪除整個字典。

      age = {'zhangsan': 12, 'lisi': 15, 'boxiaoyuan': 22}
      del age['zhangsan'] # {'lisi': 15, 'boxiaoyuan': 22},刪除指定的鍵值對
      print(age)
      del age # 刪除整個字典
      print(age) # NameError: name 'age' is not defined

      循環(huán)遍歷

      xiaoming = {"name": "xiaoming", "age": 18}
      for key in xiaoming:
      print("%s:%s" % (key, xiaoming[key]))

      在實際開發(fā)中,由于字典中每一個鍵值對保存數(shù)據(jù)的類型是不同的,所以針對字典的循環(huán)遍歷需求并不是很多。

      字典常用的方法

      # -*- coding:utf-8 -*-
      import copy
      
      age = {'zhangsan': 12, 'lisi': 15, 'boxiaoyuan': 22}
      age.pop('boxiaoyuan')  # 移出列表中的元素
      print(age)  # {'zhangsan': 12, 'lisi': 15}
      print(age.get('lisi'))  # 15,獲取列表中的元素
      print(age.items())  # dict_items([('zhangsan', 12), ('lisi', 15)]),返回可遍歷的元組數(shù)組
      print(age.keys())  # dict_keys(['zhangsan', 'lisi']),返回字典的所有鍵
      print(age.setdefault('wangwu'))  # None,根據(jù)指定鍵獲取值,如果沒有則在字典中新增加鍵并設置默認值None,如果存在值,則顯示出來
      print(age.setdefault('zhangsan'))  # 12
      print(age)  # {'zhangsan': 12, 'wangwu': None, 'lisi': 15}
      
      age2 = {'bokeyuan': 44}
      age.update(age2)  # 用age2的值更新age的值
      print(age)  # {'zhangsan': 12, 'wangwu': None, 'lisi': 15, 'bokeyuan': 44}
      
      print(age.values())  # dict_values([12, None, 15, 44]),返回字典中所有值
      
      D1 = {'name': 'zhangsan', 'method': ['run', 'eat', 'drink']}  # 原始數(shù)據(jù)
      D2 = D1  # 直接引用,D1和D2指向同一對象
      D3 = D1.copy()  # 淺拷貝,復制時只會復制父對象,不會復制對象內部的子對象
      D4 = copy.deepcopy(D1)  # 深拷貝,復制父對象和子對象
      D1['name'] = 'lisi'
      D1['method'].remove('eat')
      print('原始數(shù)據(jù):',{'name': 'zhangsan', 'method': ['run', 'eat', 'drink']})
      print('D1修改后數(shù)據(jù):', D1)  # {'name': 'lisi', 'method': ['run', 'drink']}
      print('D2數(shù)據(jù):', D2)  # {'name': 'lisi', 'method': ['run', 'drink']}
      print('淺拷貝數(shù)據(jù):', D3)  # {'name': 'zhangsan', 'method': ['run', 'drink']}
      print('深拷貝數(shù)據(jù):', D4)  # {'name': 'zhangsan', 'method': ['run', 'eat', 'drink']}
      #  可見,復制后對于原字典內部的子對象(方括號括起的元素)進行操作,淺拷貝字典會受到影響,深拷貝不會受到影響。
      lists = [1, 2, 3, 4]
      dicts = dict.fromkeys(lists)  # 創(chuàng)建一個新的字典,seq為字典的鍵,value為鍵對應的初始值,默認為None
      print(dicts)  # {1: None, 2: None, 3: None, 4: None}
      dicts = dict.fromkeys(lists, 10)
      print(dicts)  # {1: 10, 2: 10, 3: 10, 4: 10}
      print("zhangsan在字典中", 'zhangsan' in age)  # True,key in dict用來判斷鍵是否在字典中,在的話,返回True,不在,返回False
      age.clear()  # 清除字典中所有的值
      print(age)  # {}

      字典的其他說明

      a)字典的格式化輸出

      age = {'zhangsan': 12,'lisi': 15,'boxiaoyuan': 22}
      print('張三的年齡:%(zhangsan)s' % age) # 12

      b)字典和列表的區(qū)別

      字典的特點:查找和插入的速度非???,但是需要占用大量內存,內存浪費較多。

      列表的特點:查找和插入的速度隨著元素的增加而減慢,占用空間小。

      來源:http://www./content-1-192551.html

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多