我有一组类型为(str,int)的对。我将找到包含特定字符串的元组,然后将相应的整数加 1。我知道如何通过询问是否 myTuple in mySet
来查找集合中的元组。但我不知道如何处理这种情况。我将不胜感激任何帮助。
这是一个示例集:
from sets import Set
up = 2
down = 3
right = 1
left = 2
mySet = Set([("up",up),("down",down),("right",right),("left",left)])
从 mySet
说,我想将第一个元素为 "up"
的第二个元素增加 1,所以我需要类似
if ("up",ref) in mySet:
ref += 1
通过这样做,我想增加原始变量 up
的值和元组的第二个元素。
最佳答案
我建议您使用字典来实现您的目的。这样,新计数的重新分配将更加干净且易于解释。例如:
>>> my_set = { 'up': 0, 'down': 0, 'left': 0, 'right': 0 }
>>> my_set['up'] += 1
>>> my_set
{'up': 1, 'down': 0, 'left': 0, 'right': 0}
正如 Brian 所描述的,元组是不可变的,因此每次更新计数时,都必须使用更新后的计数创建一个新元组。然后可以用它来替换旧的元组。
关于python - 如何在 2 元组集合中找到具有特定第一个元素的 2 元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927608/