组合数据类型(字典)

理解“映射”,映射是一种键(索引)和值(数据)的对应

映射本身就是一种索引或一种属性与数据之间的对应关系

在列表里面['python','123','io'],这些列表数据索引为0,1,2

序列类型由0~N整数作为数据的默认索引

字典是Python唯一的内置映射类型,字典的键必须遵循以下两个原则

(1)每个键只能对应一个值,不允许同一个键在字典中重复出现

(2)字典中的键是不可变类型。

字典类型是数据组织与表达的一种新的形态

字典类型是“映射”的体现

键值对:键是数据索引的扩展

字典是键值对的集合,键值对之间无序,但是键/值必须唯一。

字典的值可以是任意类型,但键不能是列表或者字典类型

使用大括号{ }和dict()创建,键值对用冒号:表示

{键1:值1,键2:值2,键3:值3,键4:值4,键n:值n}

在字典变量中,通过键获得值,可以通过[ ]这样的索引形式来获得字典中的值,也可以对字典中的值或者键值对进行增加。

字典的值利用键访问,语法格式为:字典变量[键]

<字典变量>={<键1>:<值1>,………………}

<值>=<字典变量>[<键>] <字典变量>[<键>] =<值>

[ ]用来向字典变量中索引或增加元素

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
print(d["中国"])
print(type("巴黎"))

运行界面如下: 

在这段代码中,type(x)函数返回变量x的类型。

字典的常用方法:

1.del d[k] ,删除字典d中键为k对应的数据值

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
del d["美国"]
print(d)

运行界面如下:

2.k in d ,判断键k是否在字典d中,如果在返回True,否则False.

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print("美国" in d)

运行界面如下: 

3.d.keys,返回字典d中所有的键信息

d.values,返回字典d中所有的值信息

d.items,返回字典d中所有的键值对信息

他们的返回值都是可迭代对象,利用循环可以遍历这些对象

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.keys())
print(d.values())
print(d.items())

运行界面如下:

 4.d.get(k,<default>)键k存在,则返回键k的对应值,不在则返回<default>值。

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.get("沃尔","不存在"))

运行界面如下: 

5.d.pop(k,<default),键k存在,则取回键k的对应值的同时并删掉键k,不在则返回<default>值。

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.pop("美国","不存在"))
print(d)

运行界面如下: 

6.d.popitem(),随机从字典中取出一个键值对并删除,取出的键值对以元组形式返回。

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.popitem())
print(d)

运行界面如下: 

7.d.clear(),删除所有键值对

示例代码如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
d.clear()
print(d)

运行界面如下: 

8.len(d),返回字典中元素的个数

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(len(d))

运行界面如下: 

8.d["键“]=值,进行在键值对增加元素。

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
d["沃尔"]="NBA巨星"
d["a"]=1
print(d)

运行界面如下:

9.通过update()方法实现在字典中添加元素

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
d.update(沃尔="NBA巨星")
print(d)

运行界面如下: 

 10..d["字典中原有的键“]=要修改后的键的名字,从而修改键值。

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
d["美国"]="俄罗斯"
print(d)

运行界面如下:

我们进行如下总结,通过总结来进一步的熟悉字典方法的运用:

命题方法
定义空字典d=[ ]或者dict( )
向d新增两个键值对元素d["沃尔"]="NBA巨星" d["a"]=1
修改第二个元素(无序)d["美国"]="俄罗斯"
判断字符“c"是否是d的键(只能判断键,不能判断值)c in d
计算d的长度len(d)
清空dd.clear()

字典类型应用场景:

字典类型是映射的一种衍生方式,最主要的应用场景就是对映射的表达

映射无处不在,键值对无处不在

例如:统计数据出现的次数,数据是键,次数是值

最主要作用:表达键值对数据,进而操作它们。

元素遍历:  for k in d:       #由键来逐一的索引字典中的对应的值

              <语句块>

代码示例如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
for key in d:
    print(key)

运行界面如下: 

字典推导式:

字典推导式的格式、用法与列表推导式类似,区别在于字典推导式外侧为大括号“{}”,且内部需包含键和值2个部分,具体格式如下:

{new_key:new_value for key,value in dict.items()}

利用字典推导式可快速交换字典中的键和值,示例代码如下:

d_old={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
d_new={value:key for key,value in d_old.items()}
print(d_new)

运行界面如下:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直再追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值