• Python基础语法之字典


    1 字典基础

      1.1 字典是无序的对象的集合,通过键来存取,字典的键只能是不可变类型。

      1.3 字典的长度可变,异构,任意嵌套。

      1.2 python中不可变数据类型包括:数值类型,字符串和元组。

    2 创建字典的四种方法

      2.1如果你可以事先可以拼出整个字典:

    1 dic = {'name': 'Bob', 'age': 40}

      2.2 如果你需要动态的一次创建字典的一个字段:

    1 dic = {}
    2 dic['name'] = 'Bob'
    3 dic['age'] = 20

      2.3 如果你想书写简单,而且字典的键是字符串:

    1 dic = dict(name='Bob', age=18)
    2 print(dic)

      2.4 如果你需要在程序运行时通过序列构建字典:

    1 dic = dict([('name', 'Bob'), ('age', 18)])
    2 print(dic)

    3 字典的基本操作

      3.1 字典的基本操作之增

     1 # 通过动态的赋值来为字典增加键值对
     2 dic = {}
     3 dic['name'] = 'Bob'
     4 dic['age'] = 60
     5 print(dic)  # {'name': 'Bob', 'age': 60}
     6 
     7 # 通过setdefault方法增加键值对
     8 a = dic.setdefault('name', 'alex')  # 当原字典中有'name',则不去修改,否则增加
     9 b = dic.setdefault('age', 22)  # 同上
    10 c = dic.setdefault('sex', '')  # 同上
    11 print(a, b, c)  # Bob 60 男
    12 print(dic)  # {'name': 'Bob', 'age': 60, 'sex': '男'}

      3.2 字典的基本操作之查

    1 # 通过键来查看值
    2 print(dic['name'])  # Bob
    3 print(dic['age'])  # 60
    4 print(dic['sex'])  #
    5 
    6 # 通过方法keys(),values(),items()
    7 print(dic.keys())  # dict_keys(['name', 'age', 'sex'])
    8 print(dic.values())  # dict_values(['Bob', 60, '男'])
    9 print(dic.items())  # dict_items([('name', 'Bob'), ('age', 60), ('sex', '男')])

      3.3 字典的基本操作之改

    1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
    2 # 通过赋值方式来修改
    3 dic['name'] = 'alex'
    4 print(dic)  # {'name': 'alex', 'age': 60, 'sex': '男'}
    5 
    6 # 通过方法update()来修改
    7 dic2 = {'sex': '', 'hobby': 'learn', 'country': 'China'}
    8 dic.update(dic2)  # 原来不存在的键值对追加,存在的键修改其值
    9 print(dic)  # {'name': 'alex', 'age': 60, 'sex': '女', 'hobby': 'learn', 'country': 'China'}

      3.3 字典的基本操作之删

     1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
     2 # 通过del删除字典中的元素或整个字典
     3 del dic['name']
     4 print(dic)  # {'age': 60, 'sex': '男'}
     5 del dic
     6 # print(dic)  # NameError: name 'dic' is not defined
     7 
     8 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
     9 # 通过pop()方法
    10 name = dic.pop('name')
    11 print(name)  # Bob
    12 print(dic)  # {'age': 60, 'sex': '男'}

    4 字典中其他内置方法

      4.1 fromkeys()

    1 dic = dict.fromkeys(['key1', 'key2', 'key3'], 'values')
    2 # 类似将字典中的键初始化为一个默认的值
    3 print(dic)  # {'key1': 'values', 'key2': 'values', 'key3': 'values'}
    4 dic2 = dic.fromkeys(['key1', 'key2', 'key3'], ['values1', 'values2'])
    5 print(dic2)  # {'key1': ['values1', 'values2'], 'key2': ['values1', 'values2'], 'key3': ['values1', 'values2']}
    6 dic2['key1'][0] = 'values3'  # fromkeys()创建的字典,修改字典中的一个嵌套列表中的值,多有的键值都修改
    7 print(dic2)  # {'key1': ['values3', 'values2'], 'key2': ['values3', 'values2'], 'key3': ['values3', 'values2']}

      4.2 get()

    1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
    2 print(dic.get('name'))  # Bob
    3 print(dic.get('hobby'))  # None  可以判断字典中是否有此键
    4 print(dic.get('hobby', 'basketball'))  # basketball

      4.3 copy()

        注:只是浅拷贝,只对顶层的拷贝

    1 dic = {'name': 'Bob', 'age': 60, 'sex': '', 'hobby': ['read', 'basketball']}
    2 dic2 = dic.copy()  # {'name': 'Bob', 'age': 60, 'sex': '男', 'hobby': ['read', 'basketball']}
    3 print(dic2)
    4 dic['hobby'][0] = 'write'
    5 print(dic2)  # {'name': 'Bob', 'age': 60, 'sex': '男', 'hobby': ['write', 'basketball']}

    5 字典的排序

      采用sorted()

    1 dic = {'b': 'b', 'a': 'a', 'c': 'c'}
    2 print(dic)
    3 for key in sorted(dic):
    4     print(key, dic[key])

     6 字典的遍历

    1 dic = {'name': 'Bob', 'age': 60, 'sex': ''}
    2 for key in dic:
    3     print(key, dic[key])
    4 
    5 for item in dic.items():
    6     print(item)
    7 
    8 for i, v in dic.items():
    9     print(i, v)
  • 相关阅读:
    实验四 决策树
    实验三 朴素贝叶斯
    实验2 k近邻
    实验一
    实验三
    第二次实验
    实验一
    ATM取款系统
    流程图与活动图的区别与联系
    第一次随笔
  • 原文地址:https://www.cnblogs.com/swenwen/p/10580875.html
Copyright © 2020-2023  润新知