大一新生寒假自学python(四)

寒假自学python第四章,前情回顾上一章作者学习了元组的一系列操作,包括元组的创建删除,遍历访问和生成式;以及元组和列表的异同,且挖了一个关于字典的坑,那么这一章节就是来填这一坑。

字典的定义

字典是根据一个信息查找另一个信息的方式构成了“键值对”,他表示索引用的键和对应的值构成的成对关系

字典的创建与删除

字典的创建方法有两种一是直接创建,二是通过函数zip创建,且字典的键可为数字,字符,元组但是列表不可作为字典的键即可变数据不可作为键

#创建字典
#方法一
d={10:'cat',9:'wogua',8:'luosao'}
print(d)
#方法二
#zip函数
lst1=[10,9,8]
lst2=['cat','wogua','luosao']
zipobj=zip(lst1,lst2)
print(zipobj)
#print(list(zipobj))
d=dict(zipobj)
print(d)
#字符也可做键
d=dict(cat=10,wogua=9,luosao=8)#键是cat和wogua,luosao值是10,9,8,
print(d)

#元组作为字典的键
t=(10,9,8)
print({t:10})
#列表不能作为字典的键即可变数据不可作为字典的键
#lst=[10,9,8]
#print({lst:10})
运行结果
{10: 'cat', 9: 'wogua', 8: 'luosao'}
<zip object at 0x000002572535FE80>
{10: 'cat', 9: 'wogua', 8: 'luosao'}
{'cat': 10, 'wogua': 9, 'luosao': 8}
{(10, 9, 8): 10}

字典的遍历和访问

字典的访问有两个函数分别为d[key]和d.get[key],两者的区别为当使用不存在的键时前者会报错,后者会输出默认值;字典的遍历使用for循环加d.items函数进行遍历,且键和元素可分开遍历也可同时遍历

d={'hello':10,'world':20,'python':30}
#访问字典中的值
#使用d[key]
print(d['hello'])
#使用d.get(key)
print(d.get('hello'))
#两者的差别当使用d[key]和d.get(key)时若key不存在则前者报错后者输出none
print(d.get('java'))
##print(d['java'])
#遍历字典
for item in d.items():
    print(item)

#键和元素可分开遍历
for key,value in d.items():
    print(key,'--->',value)
运行结果
10
10
None
('hello', 10)
('world', 20)
('python', 30)
hello ---> 10
world ---> 20
python ---> 30

字典的相关操作方法

向字典中添加元素:d[key]=元素;输出字典的所有键使用函数d.keys();输出字典的所有元素d.values();随机删除字典中的元素d.popitem();删除对应元素d.pop();删除字典中全部元素d.clear()

d={1:'wxb',2:'wmn',3:'mmr'}
#向字典中添加元素
d[4]='wxd'
print(d)
#输出字典的所有键
print(d.keys())
#输出字典的所有值
print(d.values())
#随机删除字典中的键及其对应的元素
print(d.popitem())
#将键和元素转换成列表
print(list(d.keys()))
print(list(d.values()))
#将键和元素转换成元组
print(tuple(d.values()))
print(tuple(d.keys()))
#将键和元素同时输出且转换成列表类型
print(list(d.items()))
#输入键删除其对应的元素
print(d.pop(1))
#删除字典中的所有键和元素
d.clear()
print(d)
运行结果
{1: 'wxb', 2: 'wmn', 3: 'mmr', 4: 'wxd'}
dict_keys([1, 2, 3, 4])
dict_values(['wxb', 'wmn', 'mmr', 'wxd'])
(4, 'wxd')
[1, 2, 3]
['wxb', 'wmn', 'mmr']
('wxb', 'wmn', 'mmr')
(1, 2, 3)
[(1, 'wxb'), (2, 'wmn'), (3, 'mmr')]
wxb
{}

字典生成公式

第一种使用for循环利用字典的结构对字典进行生成;第二种为使用zip函数对字典进行生成

import random
#item为键,random为元素
d={item:random.randint(1,100) for item in range(3)}
print(d)
lst1=[1,2,3,4]
lst2=['wxb','wmn','wxd']
#使用函数zip函数
d={key:vuas for key,vuas in zip(lst1,lst2)}
print(d)
运行结果
{0: 74, 1: 12, 2: 52}
{1: 'wxb', 2: 'wmn', 3: 'wxd'}

挖坑下一章,作者将斗胆写一下集合的一些的操作

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值