Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 21, 2011 21:04:14

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

li=[[1,2],[3,4]]
for i in range(2):
print(i,li[i][0])



Офлайн

#2 Ноя. 22, 2011 00:02:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

Viskas
Как мне в двумерном массиве a(n*m) с индексами элементов (i, j) вывести только номера строк удовлетворяющих заданным условиям?
приведи пример конкретного массива, конкретного условия и конкретного результата



Офлайн

#3 Ноя. 22, 2011 03:58:41

Viskas
От:
Зарегистрирован: 2011-11-15
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

py.user.next
Viskas
Как мне в двумерном массиве a(n*m) с индексами элементов (i, j) вывести только номера строк удовлетворяющих заданным условиям?
приведи пример конкретного массива, конкретного условия и конкретного результата
ну пусть будет такое условие:
массив A(n,m), n- строки, m -столбцы
1 2 3 4
2 3 4 5
3 4 5 6
условие: если в строках содержится элемент 3 - вывести номер строки. Вывод осуществить, например, в новый массив
результат: B (во всех трех строках есть число 3. Вывод результата в массив В для удобства чтения возьмем 0==1 ++. столбцам)



Офлайн

#4 Ноя. 22, 2011 07:12:17

Viskas
От:
Зарегистрирован: 2011-11-15
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

Так, как говорится надо всегда курить ман!!!
Почитал фак numpy и все сразу стало ясно как делать.
Спасибо что читали писульки нубаря )))

n = int(input('Количество строк массива: '))
m = int(input('Количество столбцов массива : '))
b = list([]) # новый массив, содержащий строки*условия
a = numpy.zeros([n, m]) # создаем новый нулевой массив
# начинаем его заполнение
for i in range(n):
for j in range(m):
print('Элементы массива [',i,'][',j,']')
a[i, j] = input('Введите элементы: ')

print('Исходный массив: ')
print(a)

# цикл условия*проверки
for i in range(n):
if (a[i] > 0).all(): # обожаю питон!
b.append(i + 1) # маленькая шалость, исключительно для удобства анализа
print(b) # ну и вывод нового массива, содержащего все номера строк, в которых все элементы каждой
#строки > 0



Отредактировано (Ноя. 22, 2011 07:19:59)

Офлайн

#5 Ноя. 22, 2011 11:53:56

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

Viskas
если в строках содержится элемент 3 - вывести номер строки
>>> arr = [[1, 2, 3, 4],
... [2, 3, 4, 5],
... [3, 4, 5, 6]]
>>> n = 4
>>> condlst = [ind for (ind, i) in enumerate(arr, 1) if n in i]
>>> print(condlst)
[1, 2, 3]
>>> condlst = [i + 1 for i in range(len(arr)) if n in arr[i]]
>>> print(condlst)
[1, 2, 3]
>>>



Отредактировано (Ноя. 22, 2011 11:56:10)

Офлайн

#6 Ноя. 22, 2011 12:40:54

Viskas
От:
Зарегистрирован: 2011-11-15
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

Ого, какой чистенький и приятный код, особенно нравится использование ‘indent’



Офлайн

#7 Янв. 19, 2012 12:57:26

Viskas
От:
Зарегистрирован: 2011-11-15
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

не буду делать новую тему.
пусть
x = 33
как найти длину и сумму цифр. В нашем случае длина равна двум, а сумма - 6

спасипки )



Офлайн

#8 Янв. 19, 2012 14:48:55

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

>>> len( str( 33 ) )
2
>>> sum( map( int, str( 33 ) ) )
6



Офлайн

#9 Янв. 19, 2012 16:43:55

Viskas
От:
Зарегистрирован: 2011-11-15
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

agalen
>>> len( str( 33 ) )
2
>>> sum( map( int, str( 33 ) ) )
6
Спасибо.
про map() не знал, сейчас сижу и читаю.
а вот sum() пробовал, как оказалось не правильный синтаксис был, ибо упиралось в несовпадение типов..
спасибо большущее!



Офлайн

#10 Янв. 20, 2012 07:29:27

Viskas
От:
Зарегистрирован: 2011-11-15
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Нубский вопрос по массивам

а если, например:
a = (11, 22, 33)
то как посчитать сумму цифр каждого элемента?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version