字典

这里是目录:

1. 访问字典中的值

要获取的字典中的值,需指定字典名放在方括号内的键

dic = {'a': 1}
print(dict['a'])

2. 添加键-值对

字典是一种动态结构,可随时增加键-值对,指定字典名、用方括号括起的键,等于相关联的值:

dic = {'a': 1}
print(dic)

# 增加一个键-值
dic['b'] = '2'
dic['c'] = '3'
print(dic)

输出结果会’a’,’b’,’c’键的位置每次打印的位置都不相同,Python不关心键-值对的顺序:

{'a': 1}
{'c': '3', 'a': 1, 'b': '2'}

3. 动态创建键-值对

创建空字典方便后面动态的增加键-值对,在使用字典存储动态提供数据时用到:

# 定义空字典
dic = {}
for i in range(3):
 dic[str(i)] = input('input any value: ')
print(dic)

循环次数可根据实际需要改变,产生的键-值对数量不固定,达到动态生成字典的目的:

input any value: a
input any value: b
input any value: c
{'1': 'b', '2': 'c', '0': 'a'}

4.修改字典中的值

修改字典中的值,指定字典名、用方括号括起的键值等于该键相关联的新值

dic = {'a': 1}
print(dic)
# 修改键'a'的值
dic['a'] = 'one'
print(dic)

5.删除键-值对

对于字典中不需要的信息,使用del语句将相应的键-值对删除,指定字典名、方括号括起的键值

dic = {'a': 1, 'f': 100}
# 删除键'f'
del dic['f']
print(dic)

6.遍历字典

遍历字典有三种不同的方式:遍历字典的所有键-值对、键或值

遍历所有的键-值

a_person = {
    'name': 'lao wang',
    'age': '20',
    'sex': 'male'}
# 遍历字典
for person_key, person_value in a_person.items():
    print(" %s is %s" % (person_key, person_value))

for循环用于遍历字典,person_key 和 person_value分别存储字典的键和值,items()方法返回一个键-值对列表。

 name is lao wang
 sex is male
 age is 20

遍历所有的键

在不需要使用字典中的值时,方法keys()很有用。

a_person = {
    'name': 'lao wang',
    'age': '20',
    'sex': 'male'}
# 遍历字典中的键
for person_key in a_person.keys():
    print(person_key)

默认情况下,遍历字典时,就是遍历所有的键,因此上面的代码for person_key in a_person.keys()换成for person_key in a_person,同时也可以使用keys()方法判断字典中是否包含指定的键值。

a_person = {
    'name': 'lao wang',
    'age': '20',
    'sex': 'male'}
# 判断键值中是否包含了"address"
if "address" not in a_person.keys():
    print("the key is not exist!!")

按顺序遍历所有的键

在打印字典时,字典的顺序不可预测,如果要以特定的顺序返回元素,使用函数sorted()

dic = {
    '1': 'one',
    '4': 'four',
    '2': 'two'
}
for num in sorted(dic.keys()):
    print(num)

输出时,按照sorted()默认参数进行排序,得到输出:

1
2
4

sorted语法格式:sorted(iterable, key=None, reverse=False)

遍历字典中所有的值

如果只需要遍历字典中的值,使用方法values(),它返回一个列表,不包含任何键。

dic = {
    '1': 'one',
    '4': 'four',
    '2': 'two'
}
# 遍历字典的值
for value in dic.values():
    print(value)

得到输出:

two
four
one

同理,也可以对值进行排序,使用方法sorted()

dic = {
    '1': 'one',
    '4': 'four',
    '2': 'two'
}
# 遍历字典的值,并进行排序
for value in sorted(dic.values()):
    print(value)

得到输出:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值