zoukankan      html  css  js  c++  java
  • python之字典方法

    通过名称来访问各个值的数据结构,这种数据结构称为映射。

    字典是python中唯一的映射类型。

    一、创建字典

    phone = {'xiaoming':'123','jack':'3232131132'}
    dict_1 = {} #空字典

    二、函数dict

    d = dict(name = 'jack',age = 33)

    返回

    >>d
    {'age':33,'name':'jack'}

    三、字典的方法

    1)clear

    定义:清除

    函数:dict.clear()

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.clear()
    3 print(d)

    打印结果:

    1 None

    2)copy

    定义:copy一个字典,并返回一个新字典,其包含的键值对与原来的字典相同。

    函数:dict.copy()

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.copy()
    3 print(d)
    4 print(dic)

    结果:

    {'name': 'solo', 'age': 20, 'hobby': 'bastkball'}
    {'name': 'solo', 'age': 20, 'hobby': 'bastkball'}

    修改copy后的新字典,不会改变原字典的值(浅复制)

    替换时,原件不受影响,但是修改副本的值,原件也会跟着改变

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.copy()
    3 d['name'] = 'jack'
    4 print(d)
    5 print(dic)

    结果:

    1 {'name': 'jack', 'age': 20, 'hobby': 'bastkball'}
    2 {'name': 'solo', 'age': 20, 'hobby': 'bastkball'}

    3)fromkeys

    定义:方法fromkeys创建一个新字典,其中包含指定的键,且每个键对应的值都是None

    函数:dict.fromkeys(['key','key'])

    代码:

    1 d = dict.fromkeys(['name','age'])
    2 print(d)

    结果:

    1 {'name': None, 'age': None}

    如果不使用默认值None,也可以指定值

    函数:

    dict.fromkeys([key,key],'value')

    代码:

    1 d = dict.fromkeys(['name','age'],'unknow')
    2 print(d)

    结果:

    1 {'name': 'unknow', 'age': 'unknow'}
    如果提前定义了一个空字典,再用上述方法会是什么效果?
     代码:
    1 d = {}
    2 dic_2 = d.fromkeys('name')
    3 print(dic_2)

    结果:

    1 {'n': None, 'a': None, 'm': None, 'e': None}

    4)get

    定义:访问字典项,如果字典中灭有项,将引发错误。

    函数:dict.get()

    代码:

    1 d = {}
    2 dic = d.get('name')
    3 print(dic) #此种方式不会报错
    4 print(d['name'])  #打印空字典中的键,会引发错误

    结果:

    1 None
    2     print(d['name'])
    3 KeyError: 'name'

    另外get方法除了查询没有的键时不报错,也可以让其返回指定的‘值’

    函数:dict.get(keys,''N/A)

    代码及结果:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.get('lll','N/A') 
    3 print(d)
    N/A

    5)items

    定义:返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式。字典项在列表中排序不确定。

    函数:dict.items()

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.items()
    3 print(d)

    结果:

    1 dict_items([('name', 'solo'), ('age', 20), ('hobby', 'bastkball')])

    6)keys

    定义:方法keys返回一个字典视图,其中包含指定字典中的键。

    函数:dict.keys()

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.keys()
    3 print(d)

    结果:

    返回的均是字典中的

    1 dict_keys(['name', 'age', 'hobby'])

    同理,应该还有方法 values,返回的应该是字典中的左右值。

    实例:

    dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    d = dic.values()
    print(d)

    结果:

    1 dict_values(['solo', 20, 'bastkball'])

    7)pop

    定义:用于获取与指定键相关联的值,并将该键-值对从字典中删除

    函数:dict.pop(keys)

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.pop('name')
    3 print(d)
    4 print(dic)

    代码:

    1 solo
    2 {'age': 20, 'hobby': 'bastkball'}

    8)popitem

    定义:随机删除字典中的键值对,并返回删除的键值对。

    函数:dict.popitem

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 d = dic.popitem()  #删除字典中的键值对(随机),并返回删除的键值对
    3 print(d)
    4 print(dic)

    结果:

    1 ('hobby', 'bastkball')
    2 {'name': 'solo', 'age': 20}

    9)setdefault

    定义:方法与get有点类似。差异点是当setdefault()方法查询的键,会自动放到字典中。

    函数;dict.setdefault(key,defaulat)

    代码:

    1.

    1 dic = {}
    2 d = dic.setdefault('name')
    3 print(d)
    4 print(dic)

    2.

    dic = {}
    d = dic.setdefault('name','N/A')
    print(d)
    print(dic)

    结果:

    1.

    1 None
    2 {'name': None}

    2.

    1 N/A
    2 {'name': 'N/A'}

    10)update

    定义:使用一个字典中的项来更新到另一个字典中;如果当前字典包含相同的项,就替换它。

    函数:dict.update()

    代码:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 dic_1 = {'url':'www.python.cn'}
    3 dic.update(dic_1)
    4 print(dic)

    结果:

    1 {'name': 'solo', 'age': 20, 'hobby': 'bastkball', 'url': 'www.python.cn'}

    反过来试一下:

    1 dic = {"name":"solo",'age':20,'hobby':'bastkball'}
    2 dic_1 = {'url':'www.python.cn'}
    3 dic_1.update(dic)
    4 print(dic_1)

    结果:

    1 {'url': 'www.python.cn', 'name': 'solo', 'age': 20, 'hobby': 'bastkball'}

    11)values

    定义:返回一个由字典中值组成的字典视图,不同于方法keys,方法values 返回的视图可能包含重复的值。

    函数:dict.values()

    代码:

     1 d = {}
     2 d[1] = 1
     3 d[2] = 2
     4 d[3] = 3
     5 d[4] = 4
     6 d[5] = 5
     7 dic = d.values()
     8 dic_1 = d.keys()
     9 print(dic)
    10 print(dic_1)

    结果:

    1 dict_values([1, 2, 3, 4, 5])
    2 dict_keys([1, 2, 3, 4, 5])
  • 相关阅读:
    java基础知识复习
    css打对勾
    jqgrid显示一行的详情
    jqgrid在colModel中多次调用同一个字段值
    software architecture slide 2
    software architecture slide 1
    英语冷笑话
    单复同形
    量子力学为什么翻译成quantum,或者说quantum为什么翻译成量子力学
    To YOU
  • 原文地址:https://www.cnblogs.com/aszeno/p/10226917.html
Copyright © 2011-2022 走看看