Python学习心得(7)

Python学习心得(7)

字典
1、定义
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号分割,整个字典包括在花括号 { } 中 。

d = { key1 : value1 , key2 : value2 }
d = {"name":"张三","age":18,"sex":"男","height":165,"weight":65}  
d = {}

2、关于键和值
1、键可以是整数,浮点数,字符串,元组,布尔 ,None,键是不可变的
2、列表和字典不允许做键值
3、键值重复,后面的覆盖前面的
4、值可以是任意类型,也可以相同,也可以是None,值是可变的,可以在操作中添加或者删除。

3、操作
最简单的定义一个字典:

d = {"name":"张三","age":18,"sex":"男","height":165,"weight":65}

将定义的字典输出:

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print("姓名:", d['Name'])
print("年龄:", d['Age'])
#姓名: 张三
#年龄: 18

d.clear() 用于删除字典内所有元素。

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print("姓名:", d['Name'])
d.clear()
print("删除后的字典:",d)
#姓名: 张三
#删除后的字典: {}

d.pop() 删除字典给定键 key 及对应的值。

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print("删除前",d)
d.pop("sex")
print("删除后",d)
#删除前 {'Name': '张三', 'Age': 18, 'sex': '男'}
#删除后 {'Name': '张三', 'Age': 18}

d.get()获取键所对应的值,用法与直接输出键相同

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print(d.get("Name"))
print(d["Name"])
#张三
#张三

d.copy()拥有返回一个字典的值的浅复制,用法为:

d2 = d1.copy()

因为复制为浅复制,所以在复制后对原字典进行改变操作,对所复制出来的d2不产生影响

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
d2 = d.copy()
d.update(height = 170)
print(d)
print(d2)
#{'Name': '张三', 'Age': 18, 'sex': '男', 'height': 170}
#{'Name': '张三', 'Age': 18, 'sex': '男'}

d.update()用来对字典的键值对进行更新,或者说添加,在括号中输入添加的键及其对应的值即可。

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print(d)
d.update(height = 170)
print(d)
#{'Name': '张三', 'Age': 18, 'sex': '男'}
#{'Name': '张三', 'Age': 18, 'sex': '男', 'height': 170}

d.popitem()用于获取字典的最后一个键值对,并在原字典基础上删除该键值对。

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print(d.popitem())
print(d)
#('sex', '男')
#{'Name': '张三', 'Age': 18}

d.values()用来以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回字典中的所有值。

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print(d.values())
#dict_values(['张三', 18, '男'])

d.keys()以列表返回一个字典所有的键。

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
print(d.keys())
#dict_keys(['Name', 'Age', 'sex'])

d.items()以列表返回可遍历的(键, 值) 元组数组。

d = {'Name': '张三', 'Age': 18, 'sex': '男'}
for key,value in d.items():
    print(key,value)
#Name 张三
#Age 18
#sex 男
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值