python基础入门 字典
2024-10-21 10:03:06
字典
字典---->dict
字典是无序的,可变的 关联性强
键值对
键:使用不可变的数据类型(可哈希),键是唯一的
值:可以任意
定义一个字典
dic = {}#定义字典
字典的增删改查
#增
dic1= {"name":"于谦","sex":"男","age":50}
dic1["hobby"] = "抽烟,喝酒,烫头" #直接添加--->dic["键"]="值"
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50, 'hobby': '抽烟,喝酒,烫头'}
dic1.setdefault("name","郭德刚") #当添加的内容字典里没有,则会添加进去 如果存在则不添加
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50}
dic1.setdefault("hobby","抽烟,喝酒,烫头")
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50, 'hobby': '抽烟,喝酒,烫头'}
#删
del dic1["name"] ---->del dic1["键"] !!!中括号
print(dic1)#{'sex': '男', 'age': 50}
dic1.pop("sex")------>dic1 pop("键") !!!小括号
print(dic1) #{'name': '于谦', 'age': 50}
print(dic1.pop("sex"))#返回被删除键的值
dic1.clear() #清空字典
print(dic1)#--->{}
#改
dic1["age"]=56 #直接改 dic ["键"]=值
print(dic1)--->{'name': '于谦', 'sex': '男', 'age': 56}
dic1.update({"hobby":"抽烟,喝酒,烫头"}) #dic.update("字典要更新的内容")
print(dic1)#{'name': '于谦', 'sex': '男', 'age': 50, 'hobby': '抽烟,喝酒,烫头'}
#查
for i in dic1:
print(i) #name sex age 返回的是字典的键
print(dic1.get("name"))#于谦 dci1.get("键") 返回字典的键对应的值,不存在返回None
print(dic1["sex"]) #男 dic1["键"] 返回字典的键对应的值,不存在会报错
字典的其他操作
#key 获取字典中所有的键
print(dic1.keys())#dict_keys(['name', 'sex', 'age'])高仿列表
print(list(dic1.keys()))#['name', 'sex', 'age'] 转换为列表
#values 获取字典中所有的值
print(dic1.values())#dict_values(['于谦', '男', 50])高仿列表
print(list(dic1.values()))#['于谦', '男', 50] 转换为列表
#items 获取字典中所有的键和值,存在高仿列表的元祖里(元祖第一个为键,第二个为值)
for k,v in dic1.items():
print(k,v)
解构
a = 10
b =20
a,b = b,a
print(a,b)#20 10 整型 字符串 列表 字典 都可以
字典嵌套
通过字典一层一层的找
最新文章
- 仿苹果导航菜单js问题
- Struts2 Action下面的Method调用方法
- 124. Binary Tree Maximum Path Sum
- linux命令补全 忘记命令只记得开头
- QWidget QMainWindow QDialog 三者区别
- hdu 1142 A Walk Through the Forest
- (4)Object对象的几个常用方法
- swust oj 983
- When should you use a class vs a struct in C++?
- 地理空间数据云--TM影像下载
- jquerymobile动态添的无索刷新
- 回文树&;后缀自动机&;后缀数组
- 详细解读DiskLruCache
- vps 切换内核
- python 创建项目
- 关于Cocos2d-x中增加暂停按钮的步骤
- 用GO写一个连接比特币JSONRPC接口的程序
- Fetch POST All in One
- 万能头文件#include<;bits/stdc++.h>;
- PHP 边执行边输出
热门文章
- ubuntu 16.04 上使用pybind11进行C++和Python代码相互调用 | Interfacing C++ and Python with pybind11 on ubuntu 16.04
- web前端面试题总结(html、css)
- VSCode, Django, and Anaconda开发环境集成配置[Windows]
- PostGIS 查看表属性(字段、类型、是否为空)
- php为什么要用swoole?
- source for ";Android 28 platform"; not found
- 构建之法组——“别吃错喽”微信小程序评价
- Anaconda中启动Python时的错误:UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0xaf in position 553
- requests请求库练习--GitHub登录
- 数据表与简单java类——多对多映射