Python3.x中range产生的是可迭代的对象而不是列表,不能在其后直接追加元素

运行如下例子报错:

>>> values = range(1,11) + 'Jack Queen King'.split()
Traceback (most recent call last):
  File "", line 1, in
    values = range(1,11) + 'Jack Queen King'.split()
TypeError: unsupported operand type(s) for +: 'range' and 'list'

 

测试:

>>> a = range(1,11)
>>> type(a)

>>> a = list(range(1,11))
>>> type(a)

因此如上代码需要改写如下:

>>> values = list(range(1,11)) + 'jack queen king'.split()
>>> values
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'jack', 'queen', 'king']
在Python 3中,range 产生一个可迭代的range对象,它不是一个列表

所以,要先生成一个列表,再向其中追加元素。

 

你可能感兴趣的:(Python3.x中range产生的是可迭代的对象而不是列表,不能在其后直接追加元素)