Программа Python для разделения списка на два списка с переменными элементами

Щелкните правой кнопкой по всем файлам и выберите Свойства. Теперь Действие набора ни к Одному. Вернитесь для Компиляции при фиксации кода:)

15
задан Aran-Fey 29 March 2018 в 19:18
поделиться

3 ответа

Если seq , как вы говорите, является списком, то:

def zigzag(seq):
  return seq[::2], seq[1::2]

Если seq является полностью универсальной итерацией, например, возможно, генератор:

def zigzag(seq):
  results = [], []
  for i, e in enumerate(seq):
    results[i%2].append(e)
  return results
45
ответ дан 30 November 2019 в 23:58
поделиться
def zigzag(seq):
    return seq[::2], seq[1::2]
9
ответ дан 30 November 2019 в 23:58
поделиться

Это принимает итератор и возвращает два итератора:

import itertools
def zigzag(seq):
    t1,t2 = itertools.tee(seq)
    even = itertools.islice(t1,0,None,2)
    odd = itertools.islice(t2,1,None,2)
    return even,odd

Если вы предпочитаете списки, вы можете вернуть список (четный), список (нечетный) .

10
ответ дан 30 November 2019 в 23:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: