Python在元组字典中获取特定元组索引最小的键

2024-05-08 00:19:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我对元组有一个口诀,比如:

d = {'a': (3, 5), 'b': (5, 8), 'c': (9, 3)}  

我想返回基于元组索引的最小元组值的键。例如,如果使用元组索引=0,则返回“a”。如果index=1,则返回'c'。例如,我尝试过使用min()

^{pr2}$

但不确定如何操作它来选择要使用的元组索引。虽然也有类似的问题,但我没有找到答案。如果这是一个被欺骗的问题,请提前道歉,并链接到答案。谢谢


Tags: 答案index链接min元组pr2口诀
4条回答

可以编写lambda函数,通过元素的索引从值中获取元素:

min(d, key=lambda k: d[k][0])
# 'a'
min(d, key=lambda k: d[k][1])
# 'c'

词典没有排序,没有索引。在

如果要先按字母顺序返回密钥,可以使用ascii顺序:

print(chr(min([ord(key) for key in d.keys()])))

由于多个键可以具有相同的值,所以您可能希望返回匹配键的列表,而不仅仅是一个键。在

def min_keys(d, index):

    # Initialize lists
    values = []
    matches = []

    # Append tuple items to list based on index
    for t in list(d.values()):
        values.append(t[index])

    # If the item matches the min, append the key to list
    for key in d:
        if d[key][index] == min(values):
            matches.append(key)

    # Return a list of all keys with min value at index
    return matches

相关问题 更多 >