python ...使用数字

时间:2010-12-19 13:27:15

标签: python

我想知道是否还有另一个命令可以缩短它:

noes = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15']

这是我使用的命令,因此它与多年有关。

6 个答案:

答案 0 :(得分:8)

noes = map(str, range(1, 16))假设你真的想要字符串。如果没有,那么noes = range(1, 16)就足够了。

答案 1 :(得分:6)

如果您在字符串列表之后,可以使用:

>>> x = [str(n) for n in range(1,16)] # or xrange if you wish
>>> x
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15']

可以使用以下任一方式创建数字列表:

x = [n for n in range(1,16)]
x = range(1,16)

答案 2 :(得分:1)

noes = range(1, 16)

您可以使用map(str, range(1, 16)[str(i) for i in range(1, 16]来获取字符串。

range

xrangerange类似,但没有列表,但可以在for循环中使用,例如。

[str(i) for i in xrange(1, 16)]

答案 3 :(得分:0)

那不是数字。你引用了它们,所以它们是字符串。数字将是

noes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 

更短的将是

noes = range(1,16)

我建议你阅读Python教程。

答案 4 :(得分:0)

使用

noes = range(1, 15);

或者,如果你真的需要字符串:

noes = [];
for i in range(1, 15):
  noes.append(str(i))

答案 5 :(得分:0)

我认为你然后使用它

if AgeString in noes:
    print "U R 2 yng!"

进行逻辑比较可能更干净,即

if int(AgeStr) < 16:
    print "Too young"