有人可以帮我解决问题吗?
生成序列0,1,3,4,6,7,...的最简单/最快捷方式是什么? python2中的列表?
感谢您的帮助。
答案 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,因此可以使用%
来测试是否应该包含数字。请参阅range
和list comprehensions的文档,您应该能够了解如何为其他类似模式生成列表。
答案 1 :(得分:0)
正如评论中所建议的那样,您将必须指定要走多远,并且列表理解是生成带代码的列表的自然选择。唯一的难点在于找出列表中不包含的值:
max = 20
required_sequence = [value for value in range(max) if (value + 1) % 3 != 0]