Python词典:复制,剥离和&计算字典

时间:2015-03-10 21:07:05

标签: python dictionary

假设我有两个词典,一个带有一组数据,另一个带有相同的键,但我想过滤和清理数据。更具体地说,请看一下这个跑步者距离的例子:

dict1:{'Bob':'1 mile', 'Barbara':'200 feet', 'Sue':'250 feet'}
dict2:{'Bob':'','Barbara':'','Sue':''}

我想从每个键的值中删除值字符串(即单词“mile”和“feet”)。我还希望将“里程”转换为“英尺”,以确保所有单位都在英尺内。

我试过做一个循环,比如

for key,val in dict1.items():
    if "mile" in val:
        dict2[key] = float(val[:-6]) * 5280
    else:
        dict2[key] = float(val[:-6]

不幸的是,虽然逻辑是正确的,但是字典是未排序的,所以它最终给了我类似的东西:

dict2 = {'Barbara':5280, 'Bob':200, 'Sue':250}

我想知道是否有一种方法可以对两个字典进行排序(不是按字母顺序或数字顺序排序,而是按照我最初指定的顺序排列),以便它实际为每个字符分配预期值?

1 个答案:

答案 0 :(得分:0)

字典的键不以任何特定顺序存储;您可以随时在外部对键进行排序。您的代码 将正确的值分配给正确的密钥。