Moo*_*lla 5 python list range slice
有没有办法slice通过整个列表,同时排除列表中间的一系列值或多个值范围?
例如:
list = [1,2,3,4,5,6,7,8,9,0]
print list[......] #some code inside
Run Code Online (Sandbox Code Playgroud)
我想上面的代码以打印清单,同时排除的值的范围,以便输出将是:[1,2,3,8,9,0]或排除多个值的范围,以便输出将是:[1,2,6,7,0]通过使用切片表示法或其它任何简单的方法可以建议.
>>> nums = [1,2,3,4,5,6,7,8,9,0]
>>> exclude = set(range(4, 8))
>>> [n for n in nums if n not in exclude]
[1, 2, 3, 8, 9, 0]
Run Code Online (Sandbox Code Playgroud)
另一个例子
>>> exclude = set(range(4, 8) + [1] + range(0, 2))
>>> [n for n in nums if n not in exclude]
[2, 3, 8, 9]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5052 次 |
| 最近记录: |