如何将范围作为列表元素传递给python中的列表?

时间:2019-05-09 11:19:06

标签: python list range openpyxl

我想将一系列数字传递给列表。 在这里,我设置了变量rowsList,其中包含索引号列表。

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

显然会引发:TypeError:“ range”对象不能解释为整数。我可以做些什么改变才能使它正常工作? 感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

  

*(扩展的可重复拆包)运算符

     

提议对可迭代的解包语法进行更改,从而允许指定一个“包罗万象”的名称,该名称将被分配一个不包含所有项的列表   分配给“常规”名称。

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

输出:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 23]

答案 1 :(得分:0)

假设您想要[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