python基础-字典常用操作

1.通过key获取value

  dict = {key1: value1, key2:value2}

  dict['key1'] 可获取到key1对应的value1  

person = {'name': 'tt', 'age': 13}
print(person['age'])  # 13

test_dict = {'name': 'll', 'age': 90}
print(test_dict['height'])  # 无value时程序报错,KeyError: 'height'

  通过dict[key] = value ,当key值存在是,会修改原value、当key值不存在时,会将key:value键值对添加到字典中;

person = {'name': 'tt', 'age': 13}
person['age'] = 24
print(person)  # {'name': 'tt', 'age': 24}
person['height'] = 178
print(person)  # {'name': 'tt', 'age': 24, 'height': 178}

 

2.字典的update()方法

  dict.update(new_dict) 一次添加多个键值对,同样key值存在时更新key对应的value、key值不存在是添加key:value对;

person = {'name': 'tt', 'age': 13}
person.update({'like': 'football', 'age': 134})
print(person)  # {'name': 'tt', 'age': 134, 'like': 'football'}

 

3.字典的setdefault()方法

  dict.setdefault(key, default_value)  

  key值存在时,直接返回对应的value;key值不存在时,将key: default_value键值对添加进字典;

  default_value值可省略,默认是None;

person = {'name': 'tt', 'age': 13}
print(person.setdefault('age', 45))  # 13
print(person.setdefault('like', 'football'))  # football
print(person)  # {'name': 'tt', 'age': 13, 'like': 'football'}
print(person.setdefault('height'))  # None
print(person)  # {'name': 'tt', 'age': 13, 'like': 'football', 'height': None}

 

4.获取字典全部值

  dict.keys()  获取字典中全部key值,返回一个伪列表;

  dict.values() 获取字典中全部value的值,返回一个伪列表;

  dict.items() 获取字典所有的键值对, 返回伪列表,各键值对存在列表内的元组中;

person = {'name': 'tt', 'age': 13}
print(person.keys())  # dict_keys(['name', 'age'])
print(list(person.keys()))  # ['name', 'age'] (可以转化成列表)

print(person.values())  # dict_values(['tt', 13])
print(list(person.values()))  # ['tt', 13]

print(person.items())  # dict_items([('name', 'tt'), ('age', 13)])
print(list(person.items()))  # [('name', 'tt'), ('age', 13)]

 

5.字典的get() 方法

  dict.get(key)  获取对应value,无key时、默认返回None;

  dict.get(key,  default_value)  无key时,可以指定返回结果default_value;

person = {'name': 'tt', 'age': 13}
print(person.get('age'))  # 13
print(person.get('like'))  # None
print(person.get('like', 'no key'))  # no key

print(person['like'])  # 程序报错,KeyError: 'like'
# person['like']方式比get()方式可以节省部分时间,不用做key是否存在的判断(但基本可忽略不计)
# get()方式比person['like']方式,在返回结果上更友善些

 

6.字典的删除操作

  dict.pop(key)  删除key:value对,并返回value值;key不存在时会报错;

  dict.clear()  清空字典;

  dict.popitem()  删除字典的最后一个键值对, 返回键值对存储在元组中;

  同样可借助python内置函数del;

person = {'name': 'tt', 'age': 13, 'like': 'football', 'height': 168}
print(person.pop('name'))  # tt (操作有返回值,值是value)
print(person)  # {'age': 13, 'like': 'football', 'height': 168}

print(person.popitem())  # ('height', 168)
print(person)  # {'age': 13, 'like': 'football'}

del person['like']
print(person)  # {'age': 13}
# del person['name']  # KeyError: 'name' (无对应key时,会报错)

person.clear()
print(person)  # {}

 

7.字典的copy()函数

  复制字典内元素生成新字典;

# dict.copy() 依旧属于浅拷贝
person = {
    'xiaoming': {
        'age': 23,
        'height': 178
    },
    'xiaohong': {
        'age': 26,
        'height': 168
    }
}
new_person = person.copy()
new_person['xiaoming']['age'] = 999
print(new_person)  # {'xiaoming': {'age': 999, 'height': 178}, 'xiaohong': {'age': 26, 'height': 168}}
print(person)  # {'xiaoming': {'age': 999, 'height': 178}, 'xiaohong': {'age': 26, 'height': 168}}
# import copy, copy.deepcopy() 可完成深拷贝操作
import copy
person = {
    'xiaoming': {
        'age': 23,
        'height': 178
    },
    'xiaohong': {
        'age': 26,
        'height': 168
    }
}
new_person = copy.deepcopy(person)
new_person['xiaoming']['age'] = 999
print(new_person)  # {'xiaoming': {'age': 999, 'height': 178}, 'xiaohong': {'age': 26, 'height': 168}}
print(person)  # {'xiaoming': {'age': 23, 'height': 178}, 'xiaohong': {'age': 26, 'height': 168}}


# value值也可以是列表,情况一样
# 浅拷贝
dict_test = {'name': ['ll', 'rr', 'yy'], 'age': [34, 56]}
new_dict = dict_test.copy()
new_dict['name'][0] = 'pppp'
print(new_dict)  # {'name': ['pppp', 'rr', 'yy'], 'age': [34, 56]}
print(dict_test)  # {'name': ['pppp', 'rr', 'yy'], 'age': [34, 56]}

# 深拷贝
import copy
dict_test2 = {'name': ['ll', 'rr', 'yy'], 'age': [34, 56]}
new_dict2 = copy.deepcopy(dict_test2)
new_dict2['name'][0] = 'pppp'
print(new_dict2)  # {'name': ['pppp', 'rr', 'yy'], 'age': [34, 56]}
print(dict_test2)  # {'name': ['ll', 'rr', 'yy'], 'age': [34, 56]}

 

8.其它简单操作

  in ,not in 成员判断;

  len(dict) 判断字典长度;

test_dict = {'name': 'll', 'age': 90}
print('name' in test_dict)  # True
print(len(test_dict))  # 2

# 字典没有累加累乘操作

  

总结

    python基础-字典常用操作

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python基础-字典常用操作 - Python技术站

(0)
上一篇 2023年4月2日 下午4:41
下一篇 2023年4月2日 下午4:41

相关文章

  • python基础-异常处理

    1.异常与异常处理   异常就是程序中的错误,正常情况下程序是自上而下逐行执行的,当遇到异常时,就会报错退出执行;   异常处理就是在程序中可能出错的地方进行提前预捕获,并将异常部分的程序进行修正使得程序正常执行。   2.异常的语法   利用try … except … 关键字 # 以字符串的upper方法为例 def new_upper(str_…

    2023年4月2日
    00
  • python基础-数字类型

    1.数字的简单运算   常用运算符     +, -, *,  /, %, //,**          = 就是赋值运算符,在变量介绍中已提及过,a=13;     这里要说下赋值运算符的参数运算,     +=, -=, *=, /=, //=, %=      a += b –> a = a + b  参数赋值可以使代码更整洁,可读性更强   …

    2023年4月2日
    00
  • python基础-集合的常用操作

    {} 集合是一种无序不可重复的序列;集合常用于对两个列表的交并差处理; 集合没有任何获取元素的方法,只用作处理列表或元组的临时数据类型,不适合数据的存储和传输。 1.集合的创建   利用内置函数set() 或 { }创建; set_test = set() # 创建空集合 print(set_test) # set() print(type(set_test…

    2023年4月2日
    00
  • python基础–简单数据类型预览

    为了适应更多的使用场景,将数据划分为多种类型,每种类型都有各自的特点和使用场景, 帮助计算机高效的处理和展示数据。(比如数字用于数学运算、字符串用于信息传递、页面文字展示等) 1.数字类型   整型     整型就是我们说的整数,0也是整数,是一种特殊的整数;      int 既是整型的代表,又是定义整型的函数;      定义一个整型,并不一定必须用in…

    2023年4月2日
    00
  • python基础-流程控制

    1.逻辑   逻辑判断:对于一件事情正确与否的判断,python中用布尔类型真(True)、假(False)做区分;   根据判断结果的不同去完成的不同操作,就是我们的业务逻辑;   对于条件是否满足的判断语句,就是条件语句;   一个逻辑语句是由条件语句+业务语句组成的。   2.if语句   判断一个命题的真实性,如果命题为真,则执行if的逻辑语句; n…

    2023年4月2日
    00
  • python基础-函数

    1.函数定义   函数就是将完成一件事情的步骤封装在一起并得到最终的结果;   函数名代表了这个函数要做的事情;   函数体是实现函数功能的流程;   添加一个函数也被叫做实现了一个方法或功能;   函数可以帮助我们重复使用一些操作步骤;   2.def   通过关键字def定义函数;   def  name(args…):     print(”) …

    2023年4月2日
    00
  • python基础-常用内置包

      内置包是python自带的一些功能模块,有需求时可以在自己文件中直接导入使用。   1.datetime包   python中的时间包,可以在业务开发中辅助我们处理时间信息; # datetime可以获取当前时间 from datetime import datetime re = datetime.now() print(re) # 2022-12-0…

    2023年4月2日
    00
  • python基础–基本概念

    1.脚本的文件格式   脚本名.py         eg: hello.py   2.脚本结构   大概三部分,脚本头+导入部分+业务模块         每一块都是非必须的,按需填写即可;      为了书写规范,一般脚本头和导入部分中间空一行,导入部分和业务部分中间空两行;   3.头部注释   写在python脚本第一行,用#开头表示的信息就是头注释…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部