首页 > 编程语言 >### Python 字典操作详解:从创建、增删改查到高级技巧全解析

### Python 字典操作详解:从创建、增删改查到高级技巧全解析

时间:2024-06-04 09:57:33浏览次数:18  
标签:city name Python age 改查 Alice person print ###

1. 创建字典

使用大括号 {} 创建空字典
empty_dict = {}
print(empty_dict)  # 输出: {}
使用 dict 函数创建字典
# 通过键值对创建字典
person = dict(name="Alice", age=30, city="New York")
print(person)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}

# 通过其他可迭代对象创建字典
key_value_pairs = [('name', 'Bob'), ('age', 25)]
person = dict(key_value_pairs)
print(person)  # 输出: {'name': 'Bob', 'age': 25}

2. 增加、更新和删除元素

增加或更新元素
# 使用索引赋值语句
person = {'name': 'Alice', 'age': 30}
person['city'] = 'New York'
print(person)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}

# 更新已有键的值
person['age'] = 31
print(person)  # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York'}
删除元素
person = {'name': 'Alice', 'age': 30, 'city': 'New York'}

# 使用 del 语句删除指定键的键值对
del person['age']
print(person)  # 输出: {'name': 'Alice', 'city': 'New York'}

# 使用 pop 方法删除指定键的键值对,并返回其值
city = person.pop('city')
print(city)    # 输出: New York
print(person)  # 输出: {'name': 'Alice'}

3. 访问字典元素

person = {'name': 'Alice', 'age': 30, 'city': 'New York'}

# 使用键访问对应的值
print(person['name'])  # 输出: Alice

# 使用 get 方法获取键对应的值,如果键不存在,则返回指定的默认值
print(person.get('age', 25))  # 输出: 30
print(person.get('gender', 'unknown'))  # 输出: unknown

# 使用 items 方法遍历字典的键值对
for key, value in person.items():
    print(key, value)
# 输出:
# name Alice
# age 30
# city New York

4. 字典的其他常用方法

person = {'name': 'Alice', 'age': 30, 'city': 'New York'}

# 使用 keys 方法获取所有键
keys = person.keys()
print(keys)  # 输出: dict_keys(['name', 'age', 'city'])

# 使用 values 方法获取所有值
values = person.values()
print(values)  # 输出: dict_values(['Alice', 30, 'New York'])

# 使用 len 函数获取字典中键值对的数量
print(len(person))  # 输出: 3

# 使用 in 关键字判断键是否存在于字典中
print('name' in person)  # 输出: True
print('gender' in person)  # 输出: False

5. 字典的高级技巧

使用字典推导式创建字典
keys = ['name', 'age', 'city']
values = ['Alice', 30, 'New York']

# 使用 zip 函数将两个列表组合成字典
person = {key: value for key, value in zip(keys, values)}
print(person)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York'}
合并字典
dict1 = {'name': 'Alice', 'age': 30}
dict2 = {'city': 'New York', 'country': 'USA'}

# 使用 update 方法合并字典
dict1.update(dict2)
print(dict1)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'New York', 'country': 'USA'}

总结

字典是 Python 中非常重要的数据结构,它提供了灵活的键值对存储和访问方式。掌握字典的各种操作方法和高级技巧,对于进行数据处理和编程任务至关重要。

标签:city,name,Python,age,改查,Alice,person,print,###
From: https://www.cnblogs.com/zsjlwd/p/18230210

相关文章

  • 【2024-06-02】连岳摘抄
    23:59休息并非无所事事,有时在某个夏日,躺在树下的草地上听流水潺潺,或看白云飘过蓝天,那绝不是浪费时间。                                                 ——约翰·卢伯......
  • 企业应如何选择安全合规的内外网文件摆渡系统?
    网络隔离是一种安全措施,旨在将网络划分为不同的部分,以减少安全风险并保护敏感信息。常见的隔离方式像物理隔离、逻辑隔离、防火墙隔离、虚拟隔离、DMZ区隔离等,将网络隔离成内网和外网。内外网文件摆渡通常指在内部网络(内网)和外部网络(外网)之间安全地传输文件的过程。由于内网通常包......
  • Django + Vue 使用Nginx + uWsgi部署
    1.settings.py配置STATIC_ROOT=os.path.join(BASE_DIR,'static/dist')#导入前后端静态资源后更改即可DEBUG=True#为True不容易暴露项目信息,当然也不显示BUG信息ALLOWED_HOSTS=['*']STATIC_URL='/static/' 2.django端打包静态资源#会在static下生成[root@dsc1m......
  • 记一次“有手就行”的从SQL注入到文件上传Getshell的简单过程
    0x01前台SQL注入漏洞原理SQL注入漏洞的原理是应用程序没有对用户输入进行充分的验证和过滤,导致攻击者可以在输入框中插入恶意的SQL代码。当应用程序将用户输入的数据拼接到SQL查询语句中时,攻击者插入的恶意代码也会被执行,从而绕过身份验证和访问控制,直接访问或修改数据库......
  • 进程间通信函数接口及应用模板小结
    进程间通信方式1.无名管道/有名管道2.信号3.共享队列(systemV-IPC)4.共享内存(systemV-IPC)5.信号量(systemV-IPC)6.套接字无名管道特征1.文件没有名字,无法使用open2.只能用于亲缘进程间3.半双工工作方式:读写端分开4.写入操作不具有原子性,会被打断,因此只能用于一对一的简......
  • 【2024-06-03】城市中年
    20:00遍知万物而不知人道,不可谓智;遍爱群生而不爱人类,不可谓仁。                                                 ——《淮南子·主术训》计划周末回趟老家的,周五已经......
  • 人大金仓创建序列,查询序列,修改序列
    1.创建序列:createsequenceseq_1INCREMENTBY1MINVALUE1STARTWITH1;序列指定为列的默认值:1.1直接在CREATETABLE命令中引用序列CREATETABLEtablename(idINT4DEFAULTnextval('myserial'));1.2更改表列以将其默认值设置为序列计数器ALTERTABLEtablenameAL......
  • 一键云部署:资源编排 ROS 轻松部署文本转语音系统 ChatTTS
    ChatTTS是专门为对话场景设计的文本转语音模型,例如LLM助手对话任务。它支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练。ChatTTSwebUI&API为ChatTTS提供了网页界面和API服务。资源编排服务(ResourceOrchestrationService,ROS)是阿里云提供基......
  • 学习笔记14:模型保存
    转自:https://www.cnblogs.com/miraclepbc/p/14361926.html保存训练过程中使得测试集上准确率最高的参数importcopybest_model_wts=copy.deepcopy(model.state_dict())best_acc=0train_loss=[]train_acc=[]test_loss=[]test_acc=[]forepochinrange(extend......
  • ### Python 列表操作详解:从创建、增删到高级技巧全覆盖
    1.创建列表使用list函数创建空列表:empty_list=list()print(empty_list)#输出:[]从字符串创建列表:string="hello"list_from_string=list(string)print(list_from_string)#输出:['h','e','l','l','o']......