Python3 数据类型-字典
字典是一种可变数据类型,且可存储任意类型对象。
字典使用大括号"{}"括起来,由键(key)和值(values)组成,键只能使用不可变类型定义,值可以使用可变类型{'键':'值'}
一 创建
实例(Python3.0+):
dic = {'name':'makes','age':'30','hobby':'gril','is_handsome':True}
print(dic['name']) #makes
dic1 = {1:'makes','hobby':{'age':35,'gril_name':'wanglk'},'age':30}
print(dic1['hobby']) #{'gril_name': 'wanglk', 'age': 35}
dic2 = dict((('name','makes'),('age',30)))
print(dic2) #{'name': 'makes', 'age': 30}
二 修改
实例(Python3.0+):直接修改
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # 更新 Age
dict['School'] = "清华大学" # 添加信息
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
dict.setdefault
- 键存在,不改动,返回字典中相应的值
- 键不存在,在字典中添加相应的键值对,并返回相应的值
实例(Python3.0+):
dic = {'name':'makes','age':'30','hobby':'gril','is_handsome':True}
#键存在,不改动,返回字典中相应的值
dic.setdefault('age',35)
ret = dic.setdefault('age',35) #有返回值
print(ret)
#30
print(dic)
#{'name': 'makes', 'age': '30', 'is_handsome': True, 'hobby': 'gril'}
#键不存在,在字典中添加相应的键值对,并返回相应的值
dic.setdefault('salary',10000)
ret = dic.setdefault('salary','10000')
print(dic)
#{'name': 'makes', 'hobby': 'gril', 'salary': 10000, 'age': '30', 'is_handsome': True}
print(ret)
#10000
三 查
dict.keys()
- 以列表的方式返回字典中的所有键(keys)
实例(Python3.0+):
dic1 = {'age':19,'name':'lvcm','hobby':'study'}
print(dic1['age']) #19
print(dic1.keys())
#查看字典中的所有键,dict_keys(['age', 'hobby', 'name'])
print(type(dic1.keys()))
#<class 'dict_keys'>
print(list(dic1.keys()))
#['name', 'age', 'hobby']
dic2 = {'name':'makes','age':['123','345'],'salary':20000}
print('age的值为:',dic2['age'][1])
#字典中的值为列表时,可以使用dic.[keys][索引]方式查看
#age的值为: 345
dict.values()
- 以列表的方式返回字典中的所有值(values)
实例(Python3.0+):
dic1 = {'age':19,'name':'makes','hobby':'study'}
print(dic1.values())
#dict_values(['makes', 19, 'study'])
print(list(dic1.values()))
#['study', 19, 'makes']
四 更新
dict.update(dict1)
- 把字典dict1的键/值对更新到dict里
- 当两个字典中的键不同时,把dict1的键值插入到dict中
- 当两个字典中存在相同键时,dict1覆盖dict的键值
实例(Python3.0+):
# 当两个字典完全不相同时
dic1 = {'name':'lvcm','age':19}
dic2 = {'hobby':'girl','salary':10000} dic1.update(dic2) print(dic1)
# dic1--> {'hobby': 'girl', 'age': 19, 'salary': 10000, 'name': 'lvcm'}
print(dic2)
# dic2 --> {'hobby': 'girl', 'salary': 10000} # 当两个字典存在相同键时,会覆盖前面的键值
dic1 = {'name':'lvcm','age':19}
dic2 = {'hobby':'girl','salary':10000,'name':'1111'} dic1.update(dic2)
# dic1 --> {'salary': 10000, 'age': 19, 'hobby': 'girl', 'name': '1111'}
print(dic1)
# dic2 --> {'salary': 10000, 'hobby': 'girl', 'name': '1111'}
print(dic2)
五 删除
del dict[keys]
- 删除字典中的某个键值对
- 没有返回值
实例(Python3.0+):
dic1 = {"name":"makes","age":19,"salary":10000}
del dic1["name"]
print(dic1)
del dict
- 删除整个字典
实例(Python3.0+):
dic1 = {"name":"makes","age":19,"salary":10000}
del dic1
print(dic1)
#NameError: name 'dic1' is not defined(字典已删除,所以报错dict1未定义)
dict.clear()
- 清空字典
实例(Python3.0+):
dic1 = {"name":"makes","age":19,"salary":10000}
dic.clear()
print(dic1)
# {}
dict.popitem()
- 随机删除字典中的一组键值对
- 有返回值,以元祖方式返回
- 应用不广泛
实例(Python3.0+):
dict1 = {"name":"makes","age":19,"salary":10000}
dict2 = dict1.popitem()
print(dict1)
#{'age': 19, 'salary': 10000}
print(dict2)
#('name', 'makes')
六 字典排序
sorted()
实例(Python3.0+):
dic6 = {2:111,3:222,4:333}
# 以键来进行排序
print(sorted(dic6.items()))
# 以值进行排序
print(sorted(dic6.values()))
七 遍历
实例(Python3.0+):
dic7 = {'name':'makes','age':19}
print('dic7 items:',dic7.items())
#以列表返回可遍历的(键, 值) 元组数组
#dic7 items: dict_items([('name', 'lvcm'), ('age', 19)])
for key in dic7:
print(key)
"""
针对键进行遍历,也可如下写法:
for key in dic7.keys():
print(key)
name
age
"""
for values in dic7.values():
print(values)
"""
针对值进行遍历
19
lvcm
"""
for i in dic7:
print(i,dic7[i])
"""
针对键和值组合遍历,推荐使用
name makes
age 19
"""
for i,v in dic7.items():
print(i,v)
"""
针对键和值组合遍历
age 19
name makes
"""
八 其它操作及方法
dict.fromkeys()
- 初始化字典时使用
实例1(Python3.0+):
dic5 = dict.fromkeys(['host1','host2','host3'],'test')
print(dic5) # {'host2': 'test', 'host1': 'test', 'host3': 'test'} dic5 = dict.fromkeys(['host1','host2','host3'],['test','test1'])
print(dic5)
#{'host3': ['test', 'test1'], 'host2': ['test', 'test1'], 'host1': ['test', 'test1']}
实例2(Python3.0+):
dic5 = dict.fromkeys(['host1','host2','host3'],['test','test1']) dic5['host1'][1]='test3'
print(dic5)
# {'host1': ['test', 'test3'], 'host3': ['test', 'test3'], 'host2': ['test', 'test3']}
# 想法是把host1中的test1修改成test3,但是结果却修改了全部,此法慎用
字典嵌套
实例(Python3.0+):
dic1 = {
'欧美':{
'www.baidu.com':['免费的','质量一般']},
'日韩':{
'www.runoob.com':['收费的','质量标清']},
'国产':{
'www.sina.com.cn':['免费的','高清']},
'三级片':{
'www.1024.com':['免费的','下载速度慢']},
'四级片':{
'www.bokeyuan.com':['收费的','无码']},
}
print(dic1)
#{'欧美': {'www.baidu.com': ['免费的', '质量一般']}, '国产': {'www.sina.com.cn': ['免费的', '高清']}, '日韩': {'www.runoob.com': ['收费的', '质量标清']}, '三级片': {'www.1024.com': ['免费的', '下载速度慢']}, '四级片': {'www.bokeyuan.com': ['收费的', '无码']}}
九 函数
len()
- 计算字典元素个数,即键的总数。
实例(Python3.0+):
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(len(dict))
#3
type(variable)
- 返回输入的变量类型,如果变量是字典就返回字典类型
实例(Python3.0+):
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(type(dict))
#<class 'dict'>
str(dict)
- 输出字典,以可打印的字符串表示
实例(Python3.0+):
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(str(dict))
#"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
Python3 数据类型-字典的更多相关文章
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- GoLang基础数据类型--->字典(map)详解
GoLang基础数据类型--->字典(map)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能大家刚刚接触Golang的小伙伴都会跟我一样,这个map是干嘛的,是 ...
- python的6种基本数据类型--字典
python的6种基本数据类型--字典 字典 字典的定义与特性 字典是Python语言中唯一的映射类型. 定义:{key1:value1,key2:value2} 1.键与值用冒号":& ...
- Python 数据类型--字典类型
字典 dict 字典是Python的另一种有序的可变数据结构,且可存储任意类型对象. 字典是一种键值对的数据容器,每个键值(key:value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典 ...
- [Python3] 017 字典的内置方法
目录 1. Python3 中如何查看 dict() 的内置方法 2. 少废话,上例子 (1) 清理大师 clear() (2) 拷贝君 copy() (3) get(key, default=Non ...
- [Python3] 016 字典:给我一块硬盘,我可以写尽天下!
目录 0 字典的独白 1 字典的创建 2 字典的特性 3 字典的常见操作 (1) 数据的访问.更改与删除 (2) 成员检测 (3) 遍历 4 字典生成式 5 字典的内置方法 6 可供字典使用的其它方法 ...
- 整理了最全的Python3数据类型转换方法,可以收藏当手册用
本文基于python3.8版本,总结了各种数据类型直接的转换规则和方法.算是比较全了,可以收藏当手册来查. 概述 数据类型转换,指的是通过某种方法,将一个数据由原来的类型转换为另外一个类型.比如,我们 ...
- python3数据类型
python基本数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) ...
- python3 数据类型
Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) Number(数字) Py ...
随机推荐
- 有了SSL证书,如何在IIS环境下部署https?
昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...
- multiprocessing中进程池,线程池的使用
multiprocessing 多进程基本使用 示例代码1 import time import random from multiprocessing import Process def run( ...
- 使用 PlantUML 高效画图
PlantUML 是一种程序员看了就会爱上的画图方式:自然,高效. 支持快速绘制: 时序图 类图 用例图 活动图 状态图 等等 安装教程 Intellij IDEA中安装 & 使用PlantU ...
- 关于解决 https 网站无法加载 http 脚本
前几天刚配置好https网站 然后今天浏览发现自己网站的地图插件不见了 然后看了一下报错显示 然后百度搜索一番找到了解决办法 <meta http-equiv="Content-Sec ...
- 集合之TreeMap
TreeMap 底层数据结构是二叉树 如何保证键的唯一: 利用存的特点 如何保证键的可排序: 利用取的特点 左跟右 在map中数据结构只对键有效TreeMap 有Map的键值对的特性:还可以进行排序, ...
- python应用:爬虫框架Scrapy系统学习第一篇——xpath详解
HTML的三大概念:标签.元素以及属性 标签:尖括号中的文本 例:<head>……</head> 标签通常成对出现 元素:标签中的所有内容 元素中可包 ...
- Python学习笔记一:第一个Python程序,变量,字符编码与二进制,用户交互程序
第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print(“Hello World ...
- 安装 RobotFramework 可视化工具 RIDE
1. 概述 robot framework 的安装 可视化工具 ride 的安装 2. 准备 安装缘由 来自一本书 书名: Robot Framework自动化测试修炼宝典 豆瓣上有好评不少, 坏评也 ...
- 成都Uber优步司机奖励政策(1月13日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 宁波Uber优步司机奖励政策(1月11日~1月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...