我正在用Python的字典做作业。
我发现我不能为字典写索引,因为我是Python的初学者。
但我不喜欢你说“如果”和“其他”。
你怎么能把这个变成“为了”?
这是类似MBTI的人格类型测试代码。
需要比较第一密钥和第二密钥的值,但是不需要比较第二密钥和第三密钥的值。
我想要这样的比较。“如果myDict[currentKey]〉myDict[nextKey]:“
这是我密码。
myDict={"R":0,"T":2,"C":3,"F":5,"J":2,"M":1,"A":4,"N":6}
if myDict["R"] >= myDict["T"]: #
myString += "R"
else:
myString += "T"
if myDict["C"] >= myDict["F"]:
myString += "C"
else:
myString += "F"
if myDict["J"] >= myDict["M"]:
myString += "J"
else:
myString += "M"
if myDict["A"] >= myDict["N"]:
myString += "A"
else:
myString += "N"
print(myString)
我想要这样的比较。“如果myDict[currentKey]〉myDict[nextKey]:“
4条答案
按热度按时间omqzjyyz1#
可以迭代任意选择的键对,并使用传递给
max
的自定义键查找函数选择与较大值myDict
对应的键:产出
0vvn1miw2#
一种方法是按索引迭代字典元素:
然而,正如@roganjosh提到的,这依赖于字典排序,对于3.7以下的版本,字典排序是不保证的
根据应用程序的不同,元组列表可能是更好的选择
但是如果您希望能够访问给定键的值并利用散列,则将其保留为dict。
bihw5rsg3#
我将使用
iter()
而不是字典中的items()
,以便一次处理两个条目。这应该给予你:
w3nuxt5m4#
此解决方案将循环遍历字典中的键并使用所需的比较。请记住,这可能不是最佳解决方案。因此,如果不必使用字典并按最初希望的方式循环,请考虑使用其他解决方案之一。