IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Python学习之第十天 字典 -> 正文阅读

[数据结构与算法]Python学习之第十天 字典

今天为大家介绍的是Python中内置数据结构之一,字典,以下为学习参考代码。

# 机构:家里蹲
# 作者:青灬火
# 时间:2021/7/18 9:14

#字典是Python内置的数据结构之一,与列表一样是一个可变序列
#以键值对的方式存储数据,字典是一个无序的序列

#字典的创建
#最常用方式:使用花括号
scores = {'张三': 100, '李四': 98, '王五': 66}
print(scores) #{'张三': 100, '李四': 98, '王五': 66}
print(type(scores)) #<class 'dict'>

#使用内置函数dict()
stu = dict(name='jact', age=20)
print(stu) #{'name': 'jact', 'age': 20}

#空字典
d = {}
print(d) #{}

#字典中元素的获取
scores = {'张三': 100, '李四': 98, '王五': 66}
print(scores['张三']) #100
#print(scores['陈六']) # KeyError: '陈六'

print(scores.get('张三')) #100
print(scores.get('陈六')) # None

print(scores.get('马奇', 99)) # 99 在查找key不存在时,返回默认值 99


#key的判断 in / not in
scores = {'张三': 100, '李四': 98, '王五': 66}
print('张三' in scores) #True
print('张三' not in scores) #False
print('陈六' in scores) #False
print('陈六' not in scores) #True

#删除操作
del scores['张三']
print(scores) #{'李四': 98, '王五': 66}

#del scores['陈六'] #KeyError: '陈六'

#clear()清空字典
scores.clear()
print(scores) #{}

#字典中添加元素
scores['陈六'] = 96
print(scores) #{'陈六': 96}

#修改字典的元素值
scores['陈六'] = 66
print(scores) #{'陈六': 66}

scores = {'张三': 100, '李四': 98, '王五': 66}
#获取字典视图的三个方法
#1、keys() 获取字典中的所有key
keys = scores.keys()
print(keys) #dict_keys(['张三', '李四', '王五'])
print(type(keys)) #<class 'dict_keys'>
print(list(keys)) #['张三', '李四', '王五']
#遍历keys
for i in scores.keys():
    print(i)

#2、values() 获取字典中的所有value
values = scores.values()
print(values) #dict_values([100, 98, 66])
print(type(values)) #<class 'dict_values'>
print(list(values)) #[100, 98, 66]
#遍历values
for i in scores.values():
    print(i)

#3、items() 获取字典中的所有key, value对
items = scores.items()
print(items) #dict_items([('张三', 100), ('李四', 98), ('王五', 66)])
print(type(items)) #<class 'dict_items'>
print(list(items)) #[('张三', 100), ('李四', 98), ('王五', 66)]
#遍历items
for i in scores.items():
    print(i)
    print(i[0])

#遍历字典 scores
for i in scores:
    print(i)
    print(scores[i])
    print(scores.get(i))

'''
字典的特点
    字典中的所有元素都是一个key-value对,key不允许重复,value可以重复
    字典中的元素是无序的
    字典中的key必须是不可变对象 如int, str
    字典也可以根据需要动态的伸缩
    字典会浪费较大的内存,是一种使用空间换时间的数据结构
'''
d = {'name': '张三', 'name': '李四'}
print(d) #{'name': '李四'}

d = {'name': '张三', 'nikename': '张三'}
print(d) #{'name': '张三', 'nikename': '张三'}

lst = [10, 20, 30]
#d = {lst: '王五'} #TypeError: unhashable type: 'list'

#字典生成式
#内置函数zip():用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表
items = ['Fruits', 'Books', 'Others']
prices = [96, 78, 85]
lst = zip(items, prices)
print(list(lst)) #[('Fruits', 96), ('Books', 78), ('Others', 85)]

dict = {item.upper(): price for item, price in zip(items, prices)}
print(dict) #{'FRUITS': 96, 'BOOKS': 78, 'OTHERS': 85}
print(type(dict)) #<class 'dict'>

prices = [96, 78, 85, 30, 100]
lst = zip(items, prices) #双方元素个数不对等的时候,以少的为准
print(list(lst)) #[('Fruits', 96), ('Books', 78), ('Others', 85)]
dict = {item.upper(): price for item, price in zip(items, prices)}
print(dict) #{'FRUITS': 96, 'BOOKS': 78, 'OTHERS': 85}

扫码关注公众号“JAVA记录册”

该公众号致力于为大家分享工作中会用到一些简单实用的小知识,而不是那些悬在云端的高大上但又感觉空泛的文章,欢迎大家关注,谢谢!

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 11:53:53  更:2021-07-29 11:55:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 9:04:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码