Как передать диапазон как элемент списка в список в Python? - PullRequest
0 голосов
/ 09 мая 2019

Я хочу передать диапазон чисел в список. Здесь я устанавливаю переменную rowList, которая содержит список номеров индексов.

rowsList = [range(13),17,23]
for index in rowsList:
    ws.insert_rows(index,1)

Очевидно, что возникает: TypeError: объект 'range' не может быть интерпретирован как целое число. Какие небольшие изменения я могу сделать, чтобы сделать эту работу? Спасибо за вашу помощь.

Ответы [ 2 ]

4 голосов
/ 09 мая 2019

* (Расширенная итеративная распаковка) оператор

Предлагает изменение в итеративном синтаксисе распаковки, позволяя указать «универсальное» имя, которому будет присвоен списоквсе элементы, которым не присвоено «обычное» имя.

rowsList = [*range(13),17,23]
print (rowsList)

вывод:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 23]
0 голосов
/ 09 мая 2019

Если вы хотите [17, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

rowsList = [17, 23]
rowsList.extend(range(13))

Предполагая, что вы хотите [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 23]

rowsList = [17, 23]
tmpList = []
tmpList.extend(range(13))
rowsList[:0] = tmpList
...