在Python中,如果你想要将字典拆分成多个较小的字典,你可以使用以下方法:
1. 使用`dict_chunk`函数,该函数可以将一个字典分割成指定大小的多个小字典。
def dict_chunk(dicts, size):
new_list = []
dict_len = len(dicts)
while_count = dict_len // size + 1 if dict_len % size != 0 else dict_len // size
split_start = 0
split_end = size
while while_count > 0:
new_list.append({k: dicts[k] for k in list(dicts.keys())[split_start:split_end]})
split_start += size
split_end += size
while_count -= 1
return new_list
示例
original_dict = {
'a_01': '1200x1500',
'a_02': '1280x1480',
'a_03': '1220x1520',
'a_04': '1240x1540',
'a_05': '1240x1540',
'a_06': '1220x1520',
'a_07': '1240x1540'
}
将字典分割成每组10条数据
chunked_dict = dict_chunk(original_dict, 10)
print(chunked_dict)
2. 如果你想要将字典中的值拆分成列表,你可以使用字典推导式结合列表推导式。
假设你有一个字典,其值是列表
my_dict = {
'key1': ['a', 'b', 'c', 'd'],
'key2': ['e', 'f', 'g', 'h']
}
使用字典推导式和列表推导式将值拆分成列表
split_values = {k: v for k, v in my_dict.items()}
split_lists = {k: [item for item in v] for k, v in split_values.items()}
print(split_lists)
3. 如果你想要将字典中的字符串值拆分成多个字典列表,你可以使用正则表达式或者字符串分割方法。
import re
假设你有一个字典,其值是包含多个条目的字符串
d = [
{"name": "Fruit list 1", "fruits": "apple|pear", "cost": "23.56"},
{"name": "Fruit list 2", "fruits": "pineapple|orange", "cost": "15.99"}
]
使用正则表达式拆分字符串值
split_dicts = []
for item in d:
pattern = r'(\w+) = (.+)'
matches = re.findall(pattern, item['fruits'])
split_dict = {key: value for key, value in matches}
split_dicts.append(split_dict)
print(split_dicts)
以上是几种将字典拆分成更小单的方法。请根据你的具体需求选择合适的方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/94766.html