python-3.x - 使用 Python 将列表转换为字典
问题描述
有一个值列表:
list_inside = ["de:14612:1","de:14612:21","de:14612:17","de:14612:16"]
为什么不是{'from': '1', 'to': '16'}
我得到这个{'from': '16', 'to': '16'}
。我的代码做错了什么?
keys = ["from", "to"]
list_inside = ["de:14612:1","de:14612:21","de:14612:17","de:14612:16"]
for i in list_inside[::len(list_inside)-1]:
result = dict((key, i.join(i.split(":", 2)[2::1])) for key in keys)
print(result)
解决方案
利用
keys = ["from", "to"]
list_inside = ["de:14612:1","de:14612:21","de:14612:17","de:14612:16"]
result = {} #Declare empty dict
for key, v in zip(keys, list_inside[::len(list_inside)-1]):
result.update({key: v.split(":", 2)[-1])}) #Use dict.update to update the required values.
print(result)
输出:
{'to': '16', 'from': '1'}
您当前的方法是压倒一切的result
变量。
推荐阅读
- powerbi - 无法执行存储在 Analysis Services/Power BI 中的度量
- visual-studio-code - 如何使用 VSCode 在 Vagrant / Homestead 上运行 Xdebug 3(在 Big Sur Mac 上)
- pine-script - Pinescript:安全表达式参数没有副作用错误
- arrays - 检查是否存在索引 k 使得数组 A[] 的元素顺时针移动形成一个反向双调数组
- html - 如何设置 Vue Core UI 选择值
- c# - 使用 JsonConvert.DeserializeObject,如何警告缺少成员,但继续反序列化?
- vba - 如何使用 VB 脚本完全关闭 Word 应用程序
- c# - DATAGRIDVIEW 比较中的输入字符串格式不正确
- python - 为什么相同对象的内存空间分配不同?
- ruby - 红宝石如何比较两个日期(或任何其他对象)