AttributeError: у объекта генератора нет атрибута 'sort' - PullRequest
0 голосов
/ 12 октября 2018

У меня есть два файла .. Я использую циклический перебор для чтения строки из первого файла и второй строки из второго файла.

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: у объекта-генератора нет атрибута 'sort'

Мне нужно отсортировать c по элементам первого столбца (д / м / г)

1 Ответ

0 голосов
/ 12 октября 2018

Как показывает ошибка, у генераторов нет метода 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'
...