Найти - Пользователи
Полная версия: Индексы многомерных списков
Начало » Python для новичков » Индексы многомерных списков
1 2
py.user.next
4kpt
для 3.Х?
Меня 2.7 отсылает к бабушке есть пирожки :)
ну да, у него изначально третий, потому что везде функция print(), а не оператор print

для второго есть костыль (если нет возможности перейти)
>>> from __future__ import print_function
>>> print(*'abc')
a b c
>>> 
cpv
sergeek
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)
Я думал, что это можно проще сделать.
Ну, да ладно. Спасибо за ответ.
sp3
py.user.next
для второго есть костыль (если нет возможности перейти)
>>> from __future__ import print_function
>>> print(*'abc')
a b c
>>>

или так:
>>> def myprint(*w):
...     for x in w:
...         print x,
...     print
...     
... myprint(*"avc")
a v c

sank
Проще так:
print(u'Позиция значения %s в координатах [%s, %s]' % filter(lambda v: v[0]==6, [(arr[k][n],k,n) for (n,j) in enumerate(i) for (k,i) in enumerate(arr)])[0])

v(0)==6 - это то значение, которое ищите
ну и обработку ошибок сделайте для несуществующих значений …
sergeek
sank
Проще так:
но оно же не работает
sank
sergeek
но оно же не работает
Хе! точно! Не работает. Я пока этот код рисовал у меня переменная задекларировалась и всё отработало чудно.
Вот досада … тогда получится только в 2 строки это сделать …
Вот так:
arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 16], [13, 14, 15, 12]]
k=0
print(u'Позиция значения %s в координатах [%s, %s]' % filter(lambda v: v[0]==6, [(arr[k][n],k,n) for (n,j) in enumerate(arr[k]) for (k,i) in enumerate(arr)])[0])
o7412369815963
Вот ещё вариант:
print (lambda x:(x//4,x%4)) ((list(chain(*arr))).index(12))

ЗЫ: chain из itertools если что
pyuser
o7412369815963
Вот ещё вариант
так, наверно, более правильно
print(divmod((list(chain(*arr))).index(12), len(arr)))
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