Найти - Пользователи
Полная версия: Нубский вопрос по массивам
Начало » Центр помощи » Нубский вопрос по массивам
1 2 3
doza_and
li=[[1,2],[3,4]]
for i in range(2):
print(i,li[i][0])
py.user.next
Viskas
Как мне в двумерном массиве a(n*m) с индексами элементов (i, j) вывести только номера строк удовлетворяющих заданным условиям?
приведи пример конкретного массива, конкретного условия и конкретного результата
Viskas
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 ++. столбцам)
Viskas
Так, как говорится надо всегда курить ман!!!
Почитал фак 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
py.user.next
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]
>>>
Viskas
Ого, какой чистенький и приятный код, особенно нравится использование ‘indent’
Viskas
не буду делать новую тему.
пусть
x = 33
как найти длину и сумму цифр. В нашем случае длина равна двум, а сумма - 6

спасипки )
agalen
>>> len( str( 33 ) )
2
>>> sum( map( int, str( 33 ) ) )
6
Viskas
agalen
>>> len( str( 33 ) )
2
>>> sum( map( int, str( 33 ) ) )
6
Спасибо.
про map() не знал, сейчас сижу и читаю.
а вот sum() пробовал, как оказалось не правильный синтаксис был, ибо упиралось в несовпадение типов..
спасибо большущее!
Viskas
а если, например:
a = (11, 22, 33)
то как посчитать сумму цифр каждого элемента?
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