在python中有一种创建列表的方法,该列表将跳过数字并在跳过后继续?类似于以下代码:
x = [1...3, 6...10]
print(x)
# [1,2,3,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)
好吧,它很容易编写for循环,然后跳过每个定义的索引/值,或者我只能使用range,我正在寻找的是一条较短的可读性更高的行。如果没有,我可以理解。
Olv*_*ght 15
x = [*range(1, 4), *range(6, 11)]
Run Code Online (Sandbox Code Playgroud)
Net*_*ave 14
另外,您可以使用itertools.chain:
>>> import itertools
>>> list(itertools.chain(range(1, 5), range(20, 25)))
[1, 2, 3, 4, 20, 21, 22, 23, 24]
Run Code Online (Sandbox Code Playgroud)
如果numpy是一个选项,则可以np.r_用来连接切片对象:
import numpy as np
np.r_[range(1,4), range(6,11)]
# array([ 1, 2, 3, 6, 7, 8, 9, 10])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
938 次 |
| 最近记录: |