У меня есть два файла. Я использую round robin для чтения строки из первого файла и второй строки из второго файла.
def roundrobin(*iterables):
pending = len(iterables)
nexts = cycle(iter(it).next for it in iterables)
while pending:
try:
for next in nexts:
yield next()
except StopIteration:
pending -= 1
nexts = cycle(islice(nexts, pending))
Затем:
c= roundrobin(a, b)
a и b - список. Как это можно объединить с сортировкой?.. Я попытался использовать
c.sort()
Но ошибка
AttributeError: объект 'generator' не имеет атрибута 'sort'
Мне нужно отсортировать c на основе элементов первого столбца (d/M/Y)
Как показывает ошибка, генераторы не имеют метода sort
. Вы можете вместо этого вывести генератор через встроенную sorted
, которая принимает итерабельность как вход. Здесь тривиальный пример:
def randoms(n):
import random
for _ in range(n):
yield random.randint(0, 10)
res = sorted(randoms(10)) # [1, 2, 4, 5, 6, 6, 6, 7, 8, 10]
res = randoms(10).sort() # AttributeError: 'generator' object has no attribute 'sort'