flo*_*e-y 3 python dictionary for-loop pandas
我想创建一个带有预定列表的字典,但是,我似乎无法弄清楚如何避免覆盖而不是附加,而且我不确定是否可以避免导入任何其他模块。
范围是我有一个包含 1 列字符名称的数据框,其中 ID 号附加到读取 excel 文件的名称中sega_df:
Character
0 Amy (335)
1 Tails (359)
2 Shadow (357)
3 Shadow (357)
4 Blaze (337)
Run Code Online (Sandbox Code Playgroud)
然后我有一个所有字符的列表,characters,没有他们的 ID 号:
['Sonic', 'Knuckles', 'Tails', 'Amy', 'Cream', 'Shadow', 'Rouge', 'Silver', 'Blaze']
Run Code Online (Sandbox Code Playgroud)
我想创建一个字典,这样我就可以sega_df.Character通过用len()中字符的 切片来替换' characters,产生desired_sega_df:
Character
0 Amy
1 Tails
2 Shadow
3 Shadow
4 Blaze
Run Code Online (Sandbox Code Playgroud)
我要创建的字典将包含字符名称的键,而不包含它们的 ID 号,以及len()它们名称的值。字典是slice:
{'Sonic': 5,
'Knuckles': 8,
'Tails': 5,
'Amy': 3,
'Cream': 5,
'Shadow': 6,
'Rouge': 5,
'Silver': 6,
'Blaze': 5}
Run Code Online (Sandbox Code Playgroud)
即使我使用.update()它仍然重复覆盖仅Blaze作为键和5值。
>>> for character in characters:
... slice = {character: len(character)}
... slice.update({character:len(character)})
...
>>> slice
{'Blaze': 5}
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何修改循环以将所有字符的键值对添加到其中slice而不是不断覆盖它们?
将您的代码更新为:
>>> slice = dict()
>>> for character in characters:
... slice.update({character:len(character)})
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23022 次 |
| 最近记录: |