python - 字典的元组列表未按预期工作

标签 python dictionary

由于某种原因,我的小大脑遇到了问题,我有一个元组列表 list = [('name:john','age:25','location:brazil'),('姓名:terry','年龄:32','位置:acme')]。我试图将这些值移动到字典中以便稍后解析。我做了一些尝试,在最新的这些尝试之下,我没有将所有结果放入字典中,字典最终以迭代的最后一个值结束(它每次都重新创建字典)。

people = {}

list = [('name:john','age:25','location:brazil'),('name:terry','age:32','location:acme')]

for value in list:
        people = {'person': [dict(item.split(":",1) for item in value)]}

最佳答案

你也可以尝试这个:

inlist = [('name:john','age:25','location:brazil'),('name:terry','age:32','location:acme')]
d = []

for tup in inlist:
    tempDict = {}
    for elem in tup:
        elem = elem.split(":")
        tempDict.update({elem[0]:elem[1]})
    d.append({'person':tempDict})

print(d)

输出:

[{'person': {'location': 'brazil', 'name': 'john', 'age': '25'}}, {'person': {'location': 'acme', 'name': 'terry', 'age': '32'}}]

如果您想要一个带有键 person 的字典,并使用人员信息对字典进行值,则将 d.append({'person':tempDict}) 替换为d.append(tempDict) 并在打印之前添加 d = {'person':d}

输出:

{'person': [{'location': 'brazil', 'name': 'john', 'age': '25'}, {'location': 'acme', 'name': 'terry', 'age': '32'}]}

关于python - 字典的元组列表未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47891699/

相关文章:

Python func_dict 用于内存;其他有用的技巧?

python - Numpy 3d 数组的切片不一致

python使用排名号来选择两个数据帧之间的值

python - 空心圆符号中的误差线

c# - 如何使用 Dictionary.Values.Where <TSource> (Func<TSource,bool> predicate) 来查找需要的值?

python - 在 python 中获取字典并将其写入 HDF5 文件

python - 在一段时间后终止 Python 脚本

python - 在 Python 中导入音轨(wav 或 aiff)

Python:跟踪字典中特定值的最佳方式

python - 创建目录中多个文本文件的字数字典