创建空数据结构
创建空列表: list = []
创建空元组:tuple = ()
创建单个元素的元组:tuple_single = (‘1’,)
创建空字典: dict = {}
创建空集合:set = set()
作者:ragna
链接:https://www.jianshu.com/p/198412629f52
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
字典中的键映射多个值 即再一个字典中嵌套集合或列表
#选择使用列表还是集合取决于你的实际需求。如果你想保持元素的插入顺序就应该使用列表, 如果想去掉重复元素就使用集合(并且不关心元素的顺序问题)。
from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(4)
print(d)
c = defaultdict(set)
c['a'].add(1)
c['a'].add(2)
c['b'].add(4)
print(c)
字典中嵌套字典
from collections import defaultdict
import json
name = {
"anan":[1, 2, 3, 1, 2, 3, 1],
"xinxin":[5, 5, 1, 2, 3, 2],
"lele":[5, 6, 2, 3, 5, 6, 6]
}
name_count = defaultdict(defaultdict)
for (namei, num) in name.items():
for numi in num:
name_count[namei][numi] = num.count(numi)
print(json.dumps(name_count, indent=4))
# {
# "anan": {
# "1": 3,
# "2": 2,
# "3": 2
# },
# "xinxin": {
# "5": 2,
# "1": 1,
# "2": 2,
# "3": 1
# },
# "lele": {
# "5": 2,
# "6": 3,
# "2": 1,
# "3": 1
# }
# }
name = {
"anan":3,
"xinxin":5,
"lele":6
}
def sort_dict_according_to_value(dic):
return sorted(dic.items(), key=lambda item:item[1], reverse=True)
print(sort_dict_according_to_value(name))
#[('lele', 6), ('xinxin', 5), ('anan', 3)]