Форум сайта python.su
857
4kptну да, у него изначально третий, потому что везде функция print(), а не оператор print
для 3.Х?
Меня 2.7 отсылает к бабушке есть пирожки :)
>>> from __future__ import print_function >>> print(*'abc') a b c >>>
Отредактировано py.user.next (Дек. 25, 2012 01:34:23)
Офлайн
0
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)
Отредактировано cpv (Дек. 25, 2012 08:58:16)
Офлайн
18
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
Офлайн
0
Проще так:
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])
Отредактировано sank (Дек. 25, 2012 14:17:11)
Офлайн
43
sankно оно же не работает
Проще так:
Офлайн
0
sergeekХе! точно! Не работает. Я пока этот код рисовал у меня переменная задекларировалась и всё отработало чудно.
но оно же не работает
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])
Офлайн
32
Вот ещё вариант:
print (lambda x:(x//4,x%4)) ((list(chain(*arr))).index(12))
Офлайн
36
o7412369815963так, наверно, более правильно
Вот ещё вариант
print(divmod((list(chain(*arr))).index(12), len(arr)))
Отредактировано pyuser (Дек. 27, 2012 03:44:44)
Офлайн