+-

我有一个文件,我想要提取列2,3,4,5和列-4.这些列不相邻.
出于代码整洁的原因,我想做点什么
values = line.split()[columns_to_extract]
代替
values_part_one = line.split()[columns_to_extract_one]
values_part_two = line.split()[columns_to_extract_two]
因此,我想制作一个包含位置2,3,4,5和-4的切片,以便能够在一行中提取值.这可能吗?
如果没有,是否有任何其他整洁的oneliners可以做到这一点?
最佳答案
有可能做一个切片吗?没有.
但是,一切都不会丢失!你可以使用operator.itemgetter:
getter = operator.itemgetter(2, 3, 4, 5, -4)
例:
>>> import operator
>>> getter = operator.itemgetter(2, 3, 4, 5, -4)
>>> getter(range(50)) # Note, returns a `tuple`
(2, 3, 4, 5, 46)
点击查看更多相关文章
转载注明原文:python – 有几个间隔的切片? - 乐贴网