猿问

Python:如何生成一个范围,该范围跳过第四个数字?

我需要创建一个范围,该范围跳过从5开始的每个第4个数字。例如,如果范围a是从1至20,那么将排除数字5,9,13,17。


a = [1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20]

我尝试的是创建一个常规范围,然后创建一个第二个范围,该范围包括我要跳过的数字,然后从第一个范围中删除第二个范围。


a = list(range(1,21))

b = list(range(5,21,4))

for x in b:

   if x in a:

      a.remove(x)

这是可行的,但范围不是很大。有更有效的方法吗?


哔哔one
浏览 228回答 3
3回答

交互式爱情

您可以使用以下列表理解:>>> print ([v for i, v in enumerate(range(1,21)) if i == 0 or i % 4 != 0]) [1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20]
随时随地看视频慕课网APP

相关分类

Python
我要回答