4.3 字典

博客围绕字典展开,介绍了字典作为容器对象的元素规则,如键值用冒号分隔、键须唯一且不可变等。还详细阐述了字典的创建与删除、访问元素、元素的添加修改与删除等操作,并给出了字典应用案例的参考代码。

字典属于容器对象,字典中的每个元素都是“键:值”,且要满足:

1、键与值用 冒号 分隔,而元素之间用逗号分隔,所有这些在大括号内。

2、键必须是唯一的,同一个键不允许重复出现,若出现两次后一次将覆盖前一次。

3、键必须不可变,只能用数字、字符串或元组充当,不可以用列表充当。

(其键的定义与数据库中主键的定义大相径庭)

4.3.1 字典的创建于删除

代码如下: 

4.3.2 访问字典元素

1)使用键作为下标访问对应的值

2)使用keys()键返回所有键的列表

3)values返回一个包含所有值的列表

4)get法、items法

 接下来的代码首先生成包含1000个随机字符的字符串,统计每个字符出现的次数

import string
import random
x = string.ascii_letters + string.digits + string.punctuation  #形成字符集包含字母、数字、标点符号
y = [random.choice(x)for i in range(1000)]
z = ''.join(y)   #将列表y中的每个元素拼接为字符串
d = dict()       #使用字典保存每个字符出现的次数
for ch in z:
    d[ch] = d.get(ch, 0) + 1     #统计出现次数

print(d)
{'1': 13, '9': 10, 'E': 9, 'k': 11, '_': 15, ',': 16, 'n': 10, '>': 12, 'B': 11, 'S': 9, 'J': 8, '!': 14, 'z': 12, 'l': 12, 'Z': 11, '-': 11, 'N': 18, '#': 16, '3': 9, 's': 13, '(': 10, 'h': 12, '&': 9, ':': 13, 'F': 13, 'T': 11, 'w': 8, 'R': 15, 'C': 9, 'H': 11, 'f': 6, "'": 12, 'i': 11, '[': 12, 'M': 13, '5': 10, '$': 13, '<': 12, 'W': 11, 'V': 8, '4': 13, 'x': 6, 'A': 7, '\\': 15, ')': 7, '?': 11, 'e': 11, '+': 14, 'j': 16, '8': 16, 'g': 7, 'c': 7, 'u': 22, 'm': 11, '/': 7, 'v': 10, 'O': 11, ']': 13, 'L': 8, 'b': 9, 'G': 4, '`': 12, ';': 14, 'r': 7, 'Q': 13, 'd': 13, '6': 11, '=': 10, 't': 8, 'Y': 13, '%': 15, 'a': 11, '}': 12, 'p': 6, 'I': 10, 'q': 11, '^': 8, '7': 12, '*': 6, 'K': 11, '0': 13, '2': 8, 'y': 8, 'U': 7, 'X': 8, '.': 10, '@': 12, '|': 9, '{': 5, '"': 6, '~': 8, 'o': 6, 'P': 5, 'D': 8}

4.3.3 字典元素的添加、修改与删除

 字典元素的其他操作

4.3.4字典应用案例

以下案件读入key:value模式,输出value:key模式,以下为参考代码:

while True:
    s = input("shu ru zi dain lei xing de zi fu chuan:")
    d = eval(s)
    if isinstance(d,dict):
        e = {}
        for k in d:
            e[d[k]] = k
        print(e)
        break
    else:
        print("shu ru cuo wu, qing chong xin shu ru.")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值