通过添加到tupled值

时间:2016-04-15 20:32:53

标签: python function loops dictionary tuples

(我只是用东西来表示我的字典的格式,这不是它实际看起来的样子) 我目前的字典格式为:

dict={"a":(1,2,3),"b":(2,3,4),"c":(3,4,5)}
dict2={1:(1,1,2),2:(2,2,3),3:(3,3,4)}

我正在尝试添加它。我有一个计算平均值的函数,现在我想创建第二个函数,它将从第一个函数中拉出该平均值,并将其添加到我的字典值中的元组中。因此,如果" a"的平均值是4,那么我想要将其添加为它,使其看起来像{"a":(1,2,3,4)}等。

def func1(dict, dict2, number):
   if number in dict:
      for num in dict.values():

       #return sum after iteration of sum through num[0] to num[2]

def func 2 (dict1, dict2)

    if number in dict:
       new_val_to_add= func1(dict, dict2, number)

从这里开始,我不确定将返回的值添加到元组的位置,并能够使用附加值打印dict。我想的可能是将第一个字典中的元组转换为一个列表,然后在迭代字典中的每个键时追加到它,最后将其转换回元组。这是解决这个问题的正确方法吗?

1 个答案:

答案 0 :(得分:1)

如果您希望值是可变的,为什么不使用列表而不是元组?

您可以使用+组合两个元组,但是:

>>> (1, 2, 3) + (4,)
(1, 2, 3, 4)

我无法关注您的示例代码,但是根据您的描述使用字典,您可以这样做:

>>> d1 = {'a': (1, 2, 3)}
>>> d1['a'] += (4,)
>>> d1
{'a': (1, 2, 3, 4)}

或者,改为使用列表:

>>> d1 = {'a': [1, 2, 3]}
>>> d1['a'].append(4)
>>> d1
{'a': [1, 2, 3, 4]}