我想创建一个带有预定列表的字典,但是,我似乎无法弄清楚如何避免覆盖而不是追加,而且我不确定是否可以避免导入任何其他模块。
范围是我有一个包含 1 列字符名称的数据框,名称上附有 ID 号,这些名称来自读取 excel 文件, sega_df
:
Character
0 Amy (335)
1 Tails (359)
2 Shadow (357)
3 Shadow (357)
4 Blaze (337)
然后我有一个所有字符的列表, characters
,没有他们的 ID 号:
['Sonic', 'Knuckles', 'Tails', 'Amy', 'Cream', 'Shadow', 'Rouge', 'Silver', 'Blaze']
I want to create a dictionary so I can replace sega_df.Character
’s by slicing each row entry with the len()
of the characters in characters
, producing desired_sega_df
:
Character
0 Amy
1 Tails
2 Shadow
3 Shadow
4 Blaze
我要创建的字典将包含没有 ID 号的字符名称键,以及名称的 len()
值。字典是 slice
:
{'Sonic': 5,
'Knuckles': 8,
'Tails': 5,
'Amy': 3,
'Cream': 5,
'Shadow': 6,
'Rouge': 5,
'Silver': 6,
'Blaze': 5}
即使当我使用 .update()
它仍然重复覆盖只有 Blaze
作为键和 5
作为值。
>>> for character in characters:
... slice = {character: len(character)}
... slice.update({character:len(character)})
...
>>> slice
{'Blaze': 5}
我的问题是: 如何修改我的循环以将所有字符的键值对添加到 slice
而不是不断地覆盖它们?
原文由 florence-y 发布,翻译遵循 CC BY-SA 4.0 许可协议
将您的代码更新为: