列表问题?

时间:2010-05-27 09:04:52

标签: python

j=0
x=[]
for j in range(9):
  x=x+ [j]

这将输出

[1,2,3,4,5,6,7,8,9]

我希望它为

['1','2','3'...

我怎么能得到它?

4 个答案:

答案 0 :(得分:12)

转换为字符串:

>>> [str(i) for i in range(9)]
['0', '1', '2', '3', '4', '5', '6', '7', '8']

如果您希望列表以1开头,只需更改range功能:

>>> [str(i) for i in range(1, 9)]
['1', '2', '3', '4', '5', '6', '7', '8']

此外,您不需要初始化循环变量(不需要j=0)。

答案 1 :(得分:4)

Python 2

>>> map(str, range(1, 9))
['1', '2', '3', '4', '5', '6', '7', '8']

Python 3

>>> list(map(str, range(1, 9)))
['1', '2', '3', '4', '5', '6', '7', '8']

range的文档:

答案 2 :(得分:3)

好的,已经发布了“好”的python方法,但我想告诉你如何修改你的例子,让它按照你想要的方式工作:

j=0  
x=[]  
for j in range(9):  
   x = x + [str(j)]  

答案 3 :(得分:0)

j=0
x=[]
for j in range(9):
    x=x+[str(j)]