python字典没有长度限制_Python字典 dict 按指定长度拆分

该博客介绍了一个Python函数,模仿PHP的array_chunk,将字典按指定长度拆分成多个小字典。通过示例展示了如何将包含手机分辨率的字典phones拆分为多个长度为10的小字典。
摘要由CSDN通过智能技术生成

实现一个类似PHP的array_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

例子:

phones = {

'a_01':'1200x1500',

'a_02':'1280x1480',

'a_03':'1220x1520',

'a_04':'1240x1540',

'a_05':'1240x1540',

'a_06':'1220x1520',

'a_07':'1240x1540',

'a_08':'1200x1500',

'a_09':'1240x1540',

'a_10':'1240x1540',

'a_11':'1280x1480',

'a_12':'1240x1540',

'a_13':'1220x1520',

'a_14':'1200x1500',

'a_15':'1280x1480',

'a_16':'1240x1540',

'a_17':'1200x1500',

'a_18':'1280x1480',

'a_19':'1240x1540',

'a_20':'1280x1480',

'a_21':'1240x1540',

'a_22':'1280x1480',

}

res = dict_chunk(phones,10)

print(res)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------[{'a_01': '1200x1500', 'a_02': '1280x1480', 'a_03': '1220x1520', 'a_04': '1240x1540', 'a_05': '1240x1540', 'a_06': '1220x1520', 'a_07': '1240x1540', 'a_08': '1200x1500', 'a_09': '1240x1540', 'a_10': '1240x1540'}, {'a_11': '1280x1480', 'a_12': '1240x1540', 'a_13': '1220x1520', 'a_14': '1200x1500', 'a_15': '1280x1480', 'a_16': '1240x1540', 'a_17': '1200x1500', 'a_18': '1280x1480', 'a_19': '1240x1540', 'a_20': '1280x1480'}, {'a_21': '1240x1540', 'a_22': '1280x1480'}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值