我强迫start index equant到end index来得到整个列表,但是它不够灵活,我想知道是否有一个更直观/Python或更好的方法来定义这样的函数?
@click.command()
@click.option("-r", "--range", nargs=2, type=int, help="the start & end index")
def main(range):
start, end = range
elements = all_elements[start-1:] if start==end else all_elements[start-1:end]
编辑:我将代码从elements = all_elements
更改为elements = all_elements[start-1:]
,这样当调用python main.py 1 100
时,将返回前100个项目,python main.py 5 5
返回从第5个开始的所有项目。
1条答案
按热度按时间lmyy7pcs1#
通过为end参数使用默认值,可以使代码更加灵活。可以将其设置为all_elements的长度,这样,如果只提供一个值,它将选择从该索引开始的所有元素:
或者,您也可以提供--all选项来选择所有元素: