Найти - Пользователи
Полная версия: Напомните про списки
Начало » Python для новичков » Напомните про списки
1
FishHook
Не охота изобретать велосипед, подскажите, есть ли в стандартной библиотеке функция, которая из списка
l=
сделает
l=
Piton23
Не знаю как там насчет библиотечных функций, но обработка то простая, обычная рекурсия в 7 строк.

Код, с условием что все элементы целочисленные или флоат, обрабатывает любые вложенные списки и кортежи

l = [(1,2,3,4), 5,6,7,((8,9),(10,11,12))]
l2 = ([3,4,5], [1, [[[[5,9], 99], 81], 54, 56], 31], 88)
out = []
def parse(item):
try:
iter(item)
for i in item:
parse(i)
except TypeError:
out.append(item)

#test:

parse(l)
print out # [1,2,3,4,5,6,7,8,9,,10,11,12]
out = []
parse(l2)
print out # [3, 4, 5, 1, 5, 9, 99, 81, 54, 56, 31, 88]
FishHook
Piton23
Не знаю как там насчет библиотечных функций, но обработка то простая, обычная рекурсия в 7 строк.

Код, с условием что все элементы целочисленные или флоат, обрабатывает любые вложенные списки и кортежи

l = [(1,2,3,4), 5,6,7,((8,9),(10,11,12))]
l2 = ([3,4,5], [1, [[[[5,9], 99], 81], 54, 56], 31], 88)
out = []
def parse(item):
try:
iter(item)
for i in item:
parse(i)
except TypeError:
out.append(item)

#test:

parse(l)
print out # [1,2,3,4,5,6,7,8,9,,10,11,12]
out = []
parse(l2)
print out # [3, 4, 5, 1, 5, 9, 99, 81, 54, 56, 31, 88]
Да это понятно, но ведь велосипед же!
pyuser
Обработка любых вложенных списков или кортежей без учета типа данных
def chain(iterable):
for it in iterable:
if isinstance(it, (list, tuple)):
for i in chain(it):
yield i
else:
yield it
Ed
Гы :)
l = map(int, re.findall('\d+', str(l))
Piton23
:) нестандартный подход
asdf
У меня похожий вопрос. Есть ли стандартная функция для вставки елемента в list с определенным шагом?
Spectral
asdf
У меня похожий вопрос. Есть ли стандартная функция для вставки елемента в list с определенным шагом?
>>> list =[1,2,3]
>>> list[2:]
[3]
>>> list[:2]
[1, 2]
>>>
>>>
>>> for i in xrange(len(list)):
... list = list[:2*i] + [i] + list[2*i:]
...
>>> print list
[0, 1, 1, 2, 2, 3]
>>>
Почему самому не написать такое?
Ed
asdf
У меня похожий вопрос. Есть ли стандартная функция для вставки елемента в list с определенным шагом?
Нет
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