python学习7之字典

字典

1.字典是用花括号括起来,存储一些键值对

字典是一种动态结构,可随时在其中添加键值对。只需依次指定字典名、用方括号括起的键和相关联的值

#字典中存储键值对
alien_0 = {'color':'red','points':5}
print(alien_0['color'])
print(alien_0['points'])

alien_0['clothes'] = 'coat'
alien_0['shoes'] = 'nike'
print(alien_0)

2.增、改

#定义一个空字典,然后向其中添加键值对
#修改字典中的值
dic2 = {}
dic2['title'] = 'Pilgrimage to the West'
dic2['writer'] = 'Wu Chengen'
print(dic2)
dic2['writer'] = 'Wu ChenEn'
print(f"{dic2['title']}'s writer is {dic2['writer']}")

x_increment = 0
dic3 = {'x_position':0,'y_position':0,'speed':'medium'}
if dic3['speed'] == 'slow':
    x_increment = 1
elif dic3['speed'] == 'medium':
    x_increment = 2
else:
    x_increment = 3
dic3['x_position'] += x_increment
print(dic3['x_position'])

3.删

#删除字典的键值对
####################################################
# 复习list删除元素的一些方法
# del语句  del nums[index]  删除后无法使用这个值
# pop(index)  删除列表最后一个元素
# remove(value)  删除具体一个值  比如remove('a')
list1 = ['a','b','c','d','h']
list1.pop(1)
print(list1)
list1.pop(-1)
print(list1)
list1.remove('a')
print(list1)
list1.pop(-2)
print(list1)
del list1[0]
print(list1)

#删除字典的键值对用del语句
del dic3['speed']
print("\n",dic3)

4.遍历字典

Ⅰ.声明两个变量,用于存储键值对中的键和值
items()方法返回所有键值对信息,将所有键值对存储在列表中,列表中的每一个键值对都用元组表示

dic6 = {
    'java':'!!!',
    'python':'@@@@',
    'c':'*****',
    'c++':'&&&&',
    'jquery':'@@@@',
}

print("\n",dic6.items())
#dict_items([('java', '!!!'), ('python', '@@@@'), ('c', '*****'), ('c++', '&&&&')])
for key, value in dic6.items():
    print(f"key:{key}")
    print(f"value:{value}")

Ⅱ.遍历字典中所有的键
keys()方法并非只能用于遍历,它可以返回一个包含字典中所有键的列表

dic6 = {
    'java':'!!!',
    'python':'@@@@',
    'c':'*****',
    'c++':'&&&&',
    'jquery':'@@@@',
}

#遍历字典中所有的键
for language in dic6.keys():
    print("key:",language)
#dic6.keys()的输出与dic6输出不变,即上下两段代码输出不变。
#遍历字典时,默认遍历所有的键
for language in dic6:
    print("\nkey:",language)
print(dic6.keys())

Ⅲ.遍历字典中所有值

# 遍历字典中的所有值
# values()方法返回一个值列表,不包含任何键
# values()方法提取字典中的所有值,但是不考虑是否重复。为剔除重复项。可使用集合set。集合中的每个元素都必须是独一无二的
print(dic6.values())
for val in dic6.values():
    print(val.title())
#可用一对大括号直接创建集合,并用逗号隔开其中元素
for val in set(dic6.values()):
    print(val.title())

#对字典排序
dic7 = {
    'g':'h',
    'a':'b',
    'e':'f',
    'c':'d',
}
#keys()方法返回一个包含字典中所有键的列表,sorted()函数对其进行排序
for name in sorted(dic7.keys()):
    print(f"{name.title()}, thank you for taking the poll.")

5.get()方法

在上上一个注释处,我们删除了speed键值对
print(dic3[‘speed’])#这个键值对是不存在的,所以会报错。
可以实用get()方法,在指定的键不存在时返回一个默认值
方法get()第一个参数用于指定键,是必不可少的;
第二个参数为指定的键不存在时要返回的值,是可选的

speed_val = dic3.get('speed','Np speed value assigned')
print(speed_val)

point = dic3.get('point')#如果不加默认值,则返回none
print(point)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值