1

是否有任何方法或外部库可以接收某个范围作为字符串并将其转换为数组中的索引?

我的意思是谷歌浏览器中的打印选定页面功能 -链接

那么它会从数组中选择相关项目吗?

例子:

x = ['a','b','c','d','e','f']

x.get_selected_items('1, 3-4, 6')

>>>['a','c','d','f']

谢谢

4

4 回答 4

2
>>> from operator import itemgetter
>>> x = ['a','b','c','d','e','f']
>>> items = itemgetter(0, slice(2, 4), 5)(x)
>>> [j for i in items for j in (i if isinstance(i, list) else [i])]
['a', 'c', 'd', 'f']
于 2013-05-26T09:43:45.497 回答
2

通过这个配方推动您的文本范围,然后将其传递给operator.itemgetter(),最后将其应用于您的序列。请注意偏移一位,因此要么将每个元素映射为减 1,要么在序列的开头放置一个虚拟元素。

于 2013-05-26T09:45:23.653 回答
0

试试下面的代码,

x = ['a','b','c','d','e','f']
y = x[:1] + x[2:4] + x[5:]
于 2013-05-26T09:45:23.427 回答
0
>>> from operator import itemgetter
>>> x = ['a','b','c','d','e','f']
>>> sum(itemgetter(slice(0, 1), slice(2, 4), slice(5, 6))(x), [])
['a', 'c', 'd', 'f']
于 2013-05-26T09:45:25.677 回答