2

字典的增删改查 | CHEGVA

 3 years ago
source link: https://chegva.com/4761.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Python基础(16)–字典的增删改查

◎知识点

  1. 字典的"查"操作

  2. 字典的"改"操作

  3. 字典的"增"操作

  4. 字典的"删"操作

  5. 为字典中指定的key设置默认的value值

◎脚本练习

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
 @FileName:    dict_operator.py
 @Function:    dict operator
 @Author:      Zhihe An
 @Site:        https://chegva.com
 @Time:        2021/6/28
"""

"""一、字典的"查"操作"""

"""
如果想在字典中根据指定的key查找对应的value,常见的方式有两种:
1、使用中括号
"""

d = {'name': 'Jack', 'age': 18}
print(d['name'])    # Jack

# 如果字典中不存在指定的key,抛出KeyError
# print(d['gender'])  # KeyError: 'gender'

"""
2、调用方法get
"""

print(d.get('name'))    # Jack

# 如果字典中不存在指定的key,并不会抛出KeyError,而是返回None
print(d.get('gender'))  # None

"""
    可以通过参数设置默认的value,以便在字典中不存在指定的key时将其返回
"""

print(d.get('gender', '男')) # 男

"""
    此外,可以使用运算符in(not)检查字典中是否存在(不存在)指定的key
"""

print('age' in d)       # True
print('gender' in d)    # False

print('age' not in d)       # False
print('gender' not in d)    # True


"""二、字典的"改"操作"""

"""
如果想要修改字典中指定的key对应的value,常见的方式有两种:
1、为已经存在的key赋予一个新的value值(一次只修改一个key对应的value)
"""

d = {'name': 'Jack', 'age': 18, 'gender': '男'}
d['age'] = 20
print(d)    # {'name': 'Jack', 'age': 20, 'gender': '男'}

"""
2、调用方法update(一次至少修改一个key对应的value)
"""

d = {'name': 'Jack', 'age': 18, 'gender': '男'}

# d.update({'name': 'Mike', 'age': 20})
# d.update([('name', 'Mike'), ('age', 20)])
d.update(name = 'Mike', age = 20)

print(d)    # {'name': 'Mike', 'age': 20, 'gender': '男'}


"""三、字典的"增"操作"""

"""
如果想要往字典中添加key-value时,常见的方式有两种:
1、为不存在的key赋予一个value值(一次只添加一个key-value对)
"""

d = {'name': 'Jack', 'age': 18}
d['gender'] = '男'
print(d)    # {'name': 'Jack', 'age': 18, 'gender': '男'}

"""
二、调用方法update(一次至少添加一个key-value对)
"""

d = {'name': 'Jack', 'age': 18}

# d.update({'gender': '男', 'score': 90})
# d.update([('gender', '男'), ('score', 90)])
d.update(gender = '男', score = 90)

print(d)    # {'name': 'Jack', 'age': 18, 'gender': '男', 'score': 90}


"""四、字典的"删"操作"""

"""
如果想要删除字典中的key-value对,常见的方式有四种:
1、调用方法pop(一次只删除一个指定key的key-value对)
    该方法返回指定的key对应的value
"""

d = {'name': 'Jack', 'age': 18, 'gender': '男'}
print(d.pop('age')) # 18
print(d)    # {'name': 'Jack', 'gender': '男'}

# 如果指定的key不存在,抛出KeyError
# d.pop('score')  # KeyError: 'score'

# 为了防止指定的key不存在时抛出KeyError,可以通过参数指定一个默认返回的value
print(d.pop('score', 90))   # 90

"""
2、使用del语句(一次只删除一个指定key的key-value对)
"""

d = {'name': 'Jack', 'age': 18, 'gender': '男'}
del d['age']
print(d)    # {'name': 'Jack', 'gender': '男'}

"""
3、调用方法popitem(一次只删除一个任意的key-value对)
    该方法返回被删除的key-value对
"""

d = {'name': 'Jack', 'age': 18, 'gender': '男'}
print(d.popitem())  # ('gender', '男')
print(d)    # {'name': 'Jack', 'age': 18}

"""
4、调用方法clear清空字典
"""

d = {'name': 'Jack', 'age': 18, 'gender': '男'}
d.clear()
print(d)    # {}


"""五、为字典中指定的key设置默认的value值"""

"""
    为了确保字典中指定的key总是存在的,可以调用方法setdefault,这样,
    (1) 如果字典中存在指定的key,该方法返回指定的key对应的value,字典不发生变化
    (2) 如果字典中不存在指定的key,该方法返回指定的默认value的值,字典中添加一个key-value对:
        "指定的key:指定的默认value值"。此时,调用方法setdefault相当于语句:if...not in...
"""

d = {'name': 'Jack'}
print(d.setdefault('name', 'defaultName'))  # Jack
print(d)    # {'name': 'Jack'}

d = {}
print(d.setdefault('name', 'defaultName'))  # defaultName
print(d)    # {'name': 'defaultName'}

if 'name' not in d:
    d['name'] = 'defaultName'
Python

◎脚本地址:https://github.com/anzhihe/learning/blob/master/python/practise/learn-python/python_basic/dict_operator.py

anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/4761.html | ☆★★每天进步一点点,加油!★★☆

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK