Как вычесть конкретное значение из кортежа

Мне нужно будет вычесть одно значение в кортеже на 80, как я могу это сделать?

До

x=(300,400)

После

newx=(300,320)

Я пытался искать решения списка, но я ищу простую функцию для вычитания значения кортежа.

Мне нужно вычесть только 1 значение в кортеже, а не весь кортеж.


person Melvin    schedule 06.11.2017    source источник
comment
это каждый раз, когда нам нужно вычесть из x[1]?   -  person Sandeep Lade    schedule 06.11.2017
comment
да сработало! Спасибо за вашу помощь :)   -  person Melvin    schedule 06.11.2017


Ответы (4)


Вы можете использовать пакет numpy:

import numpy

print("Substract result : {} ".format(tuple(numpy.subtract((300,400), (0,80)))))

выход:

Substract result : (300, 320) 
person Aaditya Ura    schedule 06.11.2017

newx = x[0], x[1] - 80

это сработало для меня спасибо :)

person Melvin    schedule 06.11.2017

кортеж неизменяем, т. е. вы не можете изменить его значение.

person Mahesh Karia    schedule 06.11.2017

Вы не можете и не должны изменять значения кортежа. Мои функции возвращают кортежи, когда я не ожидаю, что «клиент» изменит возвращаемые значения, и мои функции возвращают списки, когда я ожидаю, что «клиент» изменит значения списка. Если это вы создаете исходный кортеж - вам следует вообще пересмотреть использование кортежей, если в конце концов вы их модифицируете - списки более уместны, а массивы numpy будут лучшими из-за их простых арифметических манипуляций.

person AGN Gazer    schedule 06.11.2017