以下函数返回输入字典的反向,其中原始字典的值用作返回字典的键,而原始字典的键用作返回的字典的值:
def lower(d):
return dict((k.lower(), [item.lower() for item in v]) for k, v in d.iteritems())
def reverse_dictionary(input_dict):
D=lower(input_dict)
reverse_dict = {}
for key, value in D.iteritems():
if not isinstance(value,
my_dict = {'a':10, 'b':20, 'c':30}
for key in my_dict:
print key, my_dict[key]
给出
a 10
c 30
b 20
和
my_dict = {'a':10, 'c':30, 'b':20}
for key in my_dict:
print key, my_dict[key]
给出同样的结果
a 10
c 30
b 20
我想知道为什么输出不像10b20c30。在遍历字典时,如何选择键呢?是随机的吗?
因此,对于我的问题,我必须使用提供的字典,该字典具有统计单词频率的非唯一值,并对其进行倒置。 我的问题是我不知道如何按字母顺序对值进行排序(例如:1:'jump','jam‘需要排序,所以它显示1: 'jam’,'jump‘,其中'jump’和‘jam’都在提供的字典中出现一次)我有倒排字典的代码,但是值是未排序的。 def inverted_word_counts(word_count_dict):
inverted_dict = {}
for key, value in word_count_dict.items():
它没有给出正确的奖牌榜,我不知道我在代码中犯了什么错误。事实上,时间最少的运动员应该获得一枚金牌,而铜牌则应该获得一枚奖牌。
dict_time = {}
# loop through the athlete dictionary
for item in athelete:
# store the key of the dict_time as name and country and value as time in seconds
dict_time[item,athelete[item][0]] = athelete[item][1][0]*3600 + athelete