py笔记.字典的使用

5.1 使用字典

               在python中,字典是一系列键-值对,每一个键都与一个值相互关联。通过使用相应的键来访问与之对应的值

               与键相关联的值可以是数字、字符串、列表以及字典,我们可以将python中的任何对象都作为字典的值

               字典的表示:用放在{}里面的一系列键-值对进行表示

               键-值对是两个相互关联的值

               键和值之间用“:”分隔,键-值对之间用“,”分隔

               5.1.1 访问字典中的值

                              要获取键相关的值,可以依次将指定字典名和放在{}里面的键值

 

alen={"1":"qwer","dd":"rwe"}
print(alen["1"])

               5.1.2 添加键-值对

                              字典是一种动态的结构,我们可以随时在其中添加键-值对

                              添加键-值对,可以依次指明字典名、用方括号阔起来的键和相关的值

alen={"1":"qwer","dd":["erw","rew"]}
print(alen["1"])
alen['erwer']=["erw","rew"]
print(alen)
结果:{'1': 'qwer', 'dd': ['erw', 'rew'], 'erwer': ['erw', 'rew']}

               5.1.3 先创建一个空的字典

                              原因:有时候为了方便,有时候是必须需要这个样子做

                              方式:字典的名字={},然后在分行添加各个键-值对

                              使用时间:当我们使用字典来存储用户提供的数据或者编写能大量自动生成键-值对的代码的时候

               5.1.4 修改字典中的值

                              要修改字典中的值,可以依次指定字典名、用方括号括起来的键以及与该键相关联的新值

               5.1.5 删除键-值对

                              对于字典中不需要的信息,我们可以使用del语句将其删除

                              格式:del 指定的字典名和要删除的键

                              注意:一旦删除键-值对,就意味着将其永久的删除了

 

alen={"1":"qwer","dd":["erw","rew"]}
print(alen["1"])
alen['erwer']=["erw","rew"]
print(alen)
del alen["1"]
print(alen)
del alen
#print(alen)报错,不存在字典alen
结果:
{'1': 'qwer', 'dd': ['erw', 'rew'], 'erwer': ['erw', 'rew']}
{'dd': ['erw', 'rew'], 'erwer': ['erw', 'rew']}

 

 5.2 遍历字典

               5.2.1 遍历所有的键-值对

                              要编写用于遍历字典的for循环,可以声明两个变量,用于存储键-值对中的键和值

                              对于声明的这两个变量的名称,我们可以采用任何值。

               注意:

                              1.遍历字典的时候,键-值对的返回顺序也与存储顺序不同。

                              2.python不关心键-值对的存储顺序,而值跟踪键和值之间的关联关系

 

list1 = {"列表":"list=[]","元组":"list()","字典":"list{}"}
for i,j in list1.items():
    print(i,j)
#结果:
列表 list=[]
元组 list()
字典 list{}

注意:在第一次编写代码的时候没有注意到(.items())的存在
	第一个变量的名字为元组中的键
	第二个变量的名字为元组中的值

               5.2.2 遍历字典中所有的键

                              当我们不需要去使用元组中的值的时候,使用元组.keys()来访问元组中的键是一个很好的方法

 

list1 = {"列表2":"list=[]","元组2":"list()","字典3":"list{}"}
for i in list1.keys():
    print(i)
#结果:
列表2
元组2
字典3

                              遍历字典的时候会默认遍历所有的键,所以也可以采取下面的例子中的方法来遍历

 

方式1:
list1 = {"列表2":"list=[]","元组2":"list()","字典3":"list{}"}
for i in list1:
    print(i)
#结果:
列表2
元组2
字典3

方式2:
list1 = {"列表2":"list=[]","元组2":"list()","字典3":"list{}"}
for i, j, k in list1:
    print(i)
#结果:
列
元
字

注意:
	1.通过方式2遍历元组的键值的时候必须保证元组中所有的键的长度是一样,否则程序无法正常运行
	2.for后面的变量名的个数必须和元组中键的长度保持一致,否则程序将无法正常运行。
	3.通过方式2中变量的含义:第n位的变量代表元组中相应的键的第n个字符
	4.使用这种方法的时候一定要慎重的考虑

                              方法元组.keys()不仅仅可以用来遍历元组,实际上,它也可以返回一个列表,其中包含有字典中所有的键

               5.2.3 按顺序遍历遍历字典中的所有的键

                              字典明确的记录了键与值之间的关联关系,但是在获取字典元素的时候,获取的顺序是不可预测的。

                              要以返回特定顺序的元素的时候,我们可以在for循环中对返回的键进行排序,可以使用sorted()函数

 

list1={
    "jen":"python",
    "sarah":"c",
    "edward":"ruby",
    "phil":"python"
    }
for name in sorted(list1.keys()):
    print(name.title())
#结果:
Edward
Jen
Phil
Sarah

通过这种方法是在for循环前先对整个键所在的列表进行排序

               5.2.4 遍历字典中所有的值

                              当我们需要去使用元组中的值的时候,使用元组.values()来访问元组中的值,它返回的是一个值列表,不包含

                              任何的键

 

list1={
    "jen":"python",
    "sarah":"c",
    "edward":"ruby",
    "phil":"python"
    }
for name in sorted(set(list1.values())):
    print(name.title(),end=" ")
print()
for name in set(sorted(list1.values())):
    print(name.title(),end=" ")
print()
for name in list1.values():
    print(name.title(),end=" ")
print()
for name in sorted(list1.values()):
    print(name.title(),end=" ")
#结果:
C Python Ruby
Ruby Python C
Python C Ruby Python
C Python Python Ruby


在python中使用set()函数来剔除列表中重复的元素

存在问题:
set(sorted(list))与sort(set(list))的结果为什么不同?

5.3 嵌套

               嵌套:将一系列字典存储在列表中,或者将列表作为值存储在字典中

               5.3.1 字典列表

                              使用场景:用于管理独立个体的信息的集合

 

list1=[]
for i in range(5):
    alien={"name":"alien","point":5,"speed":23}
    list1.append(alien)
for i in list1:
    print(i)

               5.3.2 在字典中存储列表

                              使用场景:例如为某一个顾客所提供的各种不同的信息进行保存

 

list1={
    "jen":[1,2,3,4,5],
    "len":["fsdf","fsdfs"]
    }
print(list1)

存在疑惑:
	如何将自己输入或者创建的列表塞到元组中
	在函数那块得到解决

               注意:

                              列表和字典的嵌套层级不应该太多。

               5.3.3 在字典中存储字典

                              可以在字典中存储字典,但是这个样子做的话,代码可能会变的复杂起来。

               注意:

                              在嵌套字典的时候应该尽量去嵌套结构一致的字典,这样做有助于减少for循环内部代码对的复杂性

5.4 习题

 

list1 = {
    "first_name":"张",
    "last_name":"振",
    "City":"延安"
    }
for i,j in list1.items():
    print(i,":",j)
love_number = {
    "小张":5,
    "小王":6,
    "小黄":7,
    "小李":8,
    "小白":9
    }
print(love_number)#通过种方法获得的是之前数据在字典中的存储的形式
print(love_number.items())#通过这种方法获得的字典中的键-值对,并以元组的形式进行表示
print(love_number.values())#通过这种方法获得的是字典中所有的值构成的列表
for name, number in love_number.items():
    print(name,"love number is ", number)
python_items={
    "列表":["大小可变","pop,del删除元素","[]"],
    "元组":["特殊的列表","大小不可变","()"],
    "字典":["由键和值组成"]
    }
print(python_items.values())
print(python_items.items())
for name,next in python_items.items():
    print(name,"的含义为:",end="")
    for i in next:
        print(i,end=" ")
    print()

//笔记的存档就要完了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值