在python2中生成特定序列的最简单方法是什么?

时间:2018-05-22 18:42:32

标签: python

有人可以帮我解决问题吗?

生成序列0,1,3,4,6,7,...的最简单/最快捷方式是什么? python2中的列表?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

假设模式继续跳过每三个数字,这将起作用(在此示例中序列最多为100,但您可以编辑):

upper_limit = 100
my_list = [i for i in range(upper_limit) if (i+1) % 3]

,并提供:

[0,
 1,
 3,
 4,
 6,
 7,
 9,
 10,
 12,
...
...
 93,
 94,
 96,
 97,
 99]

这是有效的,因为被跳过的数字总是比可被3整除的整数小1,因此可以使用%来测试是否应该包含数字。请参阅rangelist comprehensions的文档,您应该能够了解如何为其他类似模式生成列表。

答案 1 :(得分:0)

正如评论中所建议的那样,您将必须指定要走多远,并且列表理解是生成带代码的列表的自然选择。唯一的难点在于找出列表中不包含的值:

max = 20
required_sequence = [value for value in range(max) if (value + 1) % 3 != 0]