Найти - Пользователи
Полная версия: Индексы многомерных списков
Начало » Python для новичков » Индексы многомерных списков
1 2
cpv
# -*- coding: utf-8 -*-
arr=[]
ar = 0
for i in range(4): arr.append([])
for j in range(4):
for i in range(4):
ar =ar+1
arr[j].append(ar)
print("arr =", end=" ")
for j in range(4):
for i in range(4):
if 1 >= arr[j][i] or arr[j][i] <= 9:
print(" ",arr[j][i], end=" ")
else:
print("", arr[j][i], end=" ")
if i==3:
print()
print(" ",end=" ")
print()
print("arr =",arr)
Как поменять в этом списке 16 с соседним элементом ?
Как в игре пятнашки
FishHook
Попробуйте вот такой код

arr=zip(*[iter(range(1,17))]*4)
arr=map(list, arr)
arr[1][1],arr[2][3]=arr[2][3],arr[1][1]
print "arr =", arr
cpv
Сформулирую еще раз.
Как из списка arr вытащить элемент 16 ?
arr =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
      
arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
smoke853
cpv, вытащить вот так можно:
arr[3][-1]
#или так
arr[3][3]
cpv
Для списка arr2 я индексы вывожу так
arr2=[1,2,3]
print("arr2.index =",end=" ")
for i in range(1, 4):
print(arr2.index(i), end=" ")
print()
Как вывести индексы списка arr ?
arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 16], [13, 14, 15, 12]]
sergeek
список не может знать своего контекста, поэтому индекс так получить невозможно. Массивы в numpy, кажется, умеют это. Можно создать свой класс двумерного списка. Можно просто проитерировать с индексированием
arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 16], [13, 14, 15, 12]]
for i,ls in enumerate(arr):
    for j,e in enumerate(ls): 
        print('{} -> <{} {}>'.format(e,i,j))
py.user.next
>>> arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 16], [13, 14, 15, 12]]
>>> print(*range(len(arr)))
0 1 2 3
>>> print(*range(len(arr[0])))
0 1 2 3
>>>
cpv
arr2=[1,2,3]
print('arr2=',arr2)
print('arr2[1] =',arr2[1])
print('arr2.index(2) =',arr2.index(2))

arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 16], [13, 14, 15, 12]]
print('arr =',arr)
print('arr[1][1] =', arr[1][1])
Как вывести из спиcка arr индекс одного элемента списка,
например элемента 6 ?
4kpt
py.user.next
Строка
print(*range(len(arr))) 
для 3.Х?
Меня 2.7 отсылает к бабушке есть пирожки :)
sergeek
cpv
def index(arr,required):
    for i,ls in enumerate(arr):
        for j,e in enumerate(ls):
            if e == required:
                return i,j
            
arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 16], [13, 14, 15, 12]]
print(index(arr,6))
(1, 1)
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