Найти - Пользователи
Полная версия: Кортеж, число
Начало » Python для новичков » Кортеж, число
1 2 3
n2b
Есть кортеж
Нужно сделать чтобы было просто число 1000 типа int.
s0rg
- это не кортеж, это список содержащий кортеж
a = [(1000), ]
b = int(a[0][0])
print b
n2b
Спасибо.
Только объясните пожалуйста, что значит a?
s0rg
In [5]: a = [(1000,), ]

In [6]: a
Out[6]: [(1000,)]

In [7]: a[0] # первый элемент списка []
Out[7]: (1000,)

In [8]: a[0][0] # первый элемент, первого элемента списка - собственно число внутри кортежа
Out[8]: 1000
n2b
Большое спасибо.
n2b
Если не сложно, не могли бы еще и тут подсказать.

Два кортежа




Мне нужно пробежаться по ним и сделать следующее: (1*127 + 2*237 + 1.3*2389 + 1.5*589)/количество НЕ нулей(в любом из кортежей)

То есть, мы бежим по первому кортежу и второму кортежу, перемножаем числа соответствующие, где нули - пропускаем, в принципе можно и умножить и сложить, ведь всё равно N + 0 = N поэтому я думаю это не важно. А далее получившееся значение делим на количество НЕ нулей.
В обоих кортежах строго по 11 элементов.

Заранее спасибо.
doza_and
import numpy as np
a=np.array([1, 0, 2, 1.3, 1.5, 0, 0, 0, 0, 0, 0])
b=np.array([127, 0, 237, 2389, 589, 0, 0, 0, 0, 0, 0])
c=a*b
c=c[c!=0]
print np.mean(c)
n2b
А поделить на количество НЕ нулевых элементов одного из кортежа?

И еще. Вот у меня есть кортеж. Допустим кортеж K. Как мне из него сделать np.array?
n2b
Это перемножение:
for i in range(len(mas1)):
if mas1[i] != 0:
mas3[i] = mas1[i] * mas2[i]
Это подсчет не нулевых элементов списка.
for i in range(len(mas1)):
if mas1[i] != 0:
j = j+1
doza_and, с Вашим кодом не разобрался, но всё-равно спасибо большое за ответ.
pyuser
без numpy
sum(x * y for x, y in zip(tuple1, tuple2)) / sum(1 for x in tuple1 if x)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB