我有以下字典
{180: [],
192: [],
204: [],
216: [u'NVDA US Equity', u'UPS US Equity'],
228: [],
240: [u'AMZN US Equity'],
252: [u'BRK/B US Equity'],
264: [],
276: [],
288: [],
300: []}
我想重新排序密钥,以便我可以在稍后使用的代码中将值添加到计数器中。所以我希望结果数据框看起来像这样
{312: [],
300: [],
288: [],
276: [u'NVDA US Equity', u'UPS US Equity'],
264: [],
252: [u'AMZN US Equity'],
240: [u'BRK/B US Equity'],
228: [],
216: [],
204: [],
192: []}
但我似乎遇到的问题是因为有些键是重叠的,所以当我运行以下内容时会删除一些结果
order_key_list = list(range(180,312,12))
df_key_list = (range(312, 180, -12))
for i in range(len(df_key_list)):
order_name_list[df_key_list[i]] = order_name_list.pop(order_key_list[i])
当我运行上面的代码时,我得到以下结果。任何人都可以帮助我获得上面所需的词典
{192: [],
204: [],
216: [u'NVDA US Equity', u'UPS US Equity'],
228: [],
240: [u'AMZN US Equity'],
312: []}
答案 0 :(得分:0)
对于您的示例,您只需重新分配密钥:
d = {180: [],
192: [],
204: [],
216: [u'NVDA US Equity', u'UPS US Equity'],
228: [],
240: [u'AMZN US Equity'],
252: [u'BRK/B US Equity'],
264: [],
276: [],
288: [],
300: []}
d[240], d[252] = d.get(252, []), d.get(240, [])
输出:
{192: [], 264: [], 204: [], 276: [], 216: [u'NVDA US Equity', u'UPS US Equity'], 288: [], 228: [], 300: [], 240: [u'BRK/B US Equity'], 180: [], 252: [u'AMZN US Equity']}