130 lines
4.7 KiB
Python
130 lines
4.7 KiB
Python
# 案例一
|
||
# dictionary = {'a': '1234', 'B': 'FFFF', 'c': ' 23432', 'D': '124fgr', 'e': 'eeeee', 'F': 'QQQQQ'}
|
||
# 1:获取字典中key值是小写字母的键值对
|
||
# print(dictionary.items())
|
||
#[('a', '1234'), ('B', 'FFFF'), ('c', ' 23432'), ('D', '124fgr'), ('e', 'eeeee'), ('F', 'QQQQQ')]
|
||
|
||
# newdict = {key:value for key,value in dictionary.items() if key.islower()} # key:字典中的每一个键 value:每一个值
|
||
# print(newdict) # {'a': '1234', 'c': ' 23432', 'e': 'eeeee'}
|
||
|
||
# 2:将字典中的所有key设置为小写
|
||
# newdict = {key.lower():value for key,value in dictionary.items()}
|
||
# print(newdict)
|
||
# {'a': '1234', 'b': 'FFFF', 'c': ' 23432', 'd': '124fgr', 'e': 'eeeee', 'f': 'QQQQQ'}
|
||
|
||
# 3:将字典中所有key是小写字母的value统一赋值为'error'
|
||
# 思路:
|
||
# 正常输出的是key为大写字母的
|
||
# not:取反
|
||
# not key.islower():不是小写字母
|
||
# newdict = {key:value if not key.islower() else 'error' for key,value in dictionary.items()}
|
||
# print(newdict)
|
||
# {'a': 'error', 'B': 'FFFF', 'c': 'error', 'D': '124fgr', 'e': 'error', 'F': 'QQQQQ'}
|
||
|
||
|
||
# 案例二
|
||
# 将下面的字符串转换成字典
|
||
# 思路:
|
||
# cookie字符串有规律的,每一组值后面都有= 然后通过; 连接起来
|
||
# cookies = "anonymid=jy0ui55o-u6f6zd; depovince=GW; _r01_=1; JSESSIONID=abcMktGLRGjLtdhBk7OVw; ick_login=a9b557b8-8138-4e9d-8601-de7b2a633f80"
|
||
|
||
# print(cookies.split('; ')) # 利用规律将字符串拆分成列表
|
||
# ['anonymid=jy0ui55o-u6f6zd', 'depovince=GW', '_r01_=1', 'JSESSIONID=abcMktGLRGjLtdhBk7OVw', 'ick_login=a9b557b8-8138-4e9d-8601-de7b2a633f80']
|
||
|
||
# 将上面的拆分的列表继续变成元组,然后解构成字典的键值对
|
||
|
||
# str = 'anonymid=jy0ui55o-u6f6zd'
|
||
# print(str.split('=')) # ['anonymid', 'jy0ui55o-u6f6zd']
|
||
# print((str.split('='),)) # (['anonymid', 'jy0ui55o-u6f6zd'],) 注意逗号,如果元组只有一项值,必须添加逗号
|
||
|
||
|
||
# dict = {key:value for item in cookies.split('; ') for key,value in (item.split('='),)}
|
||
# print(dict)
|
||
|
||
"""
|
||
{
|
||
'anonymid': 'jy0ui55o-u6f6zd',
|
||
'depovince': 'GW',
|
||
'_r01_': '1',
|
||
'JSESSIONID': 'abcMktGLRGjLtdhBk7OVw',
|
||
'ick_login': 'a9b557b8-8138-4e9d-8601-de7b2a633f80'
|
||
}
|
||
"""
|
||
# 案例二(换一种写法)
|
||
# cookies = "anonymid=jy0ui55o-u6f6zd; depovince=GW; _r01_=1; JSESSIONID=abcMktGLRGjLtdhBk7OVw; ick_login=a9b557b8-8138-4e9d-8601-de7b2a633f80"
|
||
# dict = {}
|
||
# list = cookies.split('; ')
|
||
# for item in list:
|
||
# dict[item.split('=')[0]] = item.split('=')[1]
|
||
# print(dict)
|
||
|
||
# 推导式实现
|
||
# print({item.split('=')[0]:item.split('=')[1] for item in cookies.split('; ')})
|
||
|
||
# 案例三
|
||
# 将字符串转换成字典
|
||
# str = "k:1|k1:2|k2:3|k3:4"
|
||
# 将字符串转换成字典需要两步
|
||
# 第一步:将字符串拆分成列表['k:1','k1:2','k2:3','k3:4']
|
||
# 第二步:将列表的每一项继续通过冒号拆分成两项,第一项就是键,第二项就是值
|
||
# print({item.split(':')[0] : item.split(':')[1] for item in str.split('|')})
|
||
# {'k': '1', 'k1': '2', 'k2': '3', 'k3': '4'}
|
||
|
||
# print({key:value for item in str.split('|') for key,value in (item.split(':'),)})
|
||
# 注意后面的for循环转换成元组
|
||
# {'k': '1', 'k1': '2', 'k2': '3', 'k3': '4'}
|
||
|
||
|
||
# 案例四
|
||
# 生成一个包含5个随机数的字典
|
||
# import random # 导入内置的模块
|
||
# print(random.randint(1,100)) # 生成随机数
|
||
|
||
# print({i : random.randint(1,100) for i in range(1,6)})
|
||
# {1: 66, 2: 16, 3: 56, 4: 16, 5: 79}
|
||
|
||
# 案例五
|
||
# 将两个长度相同的列表合并成字典
|
||
# name = ['zhangsan', 'lisi', 'wangwu', 'maliu']
|
||
# sign = ['双鱼座', '天蝎座', '水瓶座', '巨蟹座']
|
||
# 思路:利用元组解构字典的键值对,需要将上面的两个列表变成元组
|
||
# print(tuple(zip(name,sign)))
|
||
# (('zhangsan', '双鱼座'), ('lisi', '天蝎座'), ('wangwu', '水瓶座'), ('maliu', '巨蟹座'))
|
||
# print(list(zip(name,sign)))
|
||
# [('zhangsan', '双鱼座'), ('lisi', '天蝎座'), ('wangwu', '水瓶座'), ('maliu', '巨蟹座')]
|
||
# print({name:value for name,value in tuple(zip(name,sign)) })
|
||
# {'zhangsan': '双鱼座', 'lisi': '天蝎座', 'wangwu': '水瓶座', 'maliu': '巨蟹座'}
|
||
# print({name:value for name,value in list(zip(name,sign)) })
|
||
# {'zhangsan': '双鱼座', 'lisi': '天蝎座', 'wangwu': '水瓶座', 'maliu': '巨蟹座'}
|
||
|
||
# 案例六
|
||
# 将key中大小写相同的字母的value值求和
|
||
# dict = {'a': 2, 'B': 5, 'A': 7, 'C': 10,'b':10}
|
||
# lower() upper()
|
||
# in
|
||
# print({key.lower():dict.get(key.lower(),0) + dict.get(key.upper(),0) for key in dict.keys() if key.lower() in ['a','b','c']})
|
||
# {'a': 9, 'b': 5, 'c': 10}
|
||
|
||
# # 案例七
|
||
# 将字典中key、value互换位置
|
||
# 将字典转换成能够被解构的元组
|
||
d = {1: 'a', 2: 'b', 3: 'c'}
|
||
print({value:key for key,value in d.items()})
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|