Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使子列表索引引用原始列表_Python - Fatal编程技术网

Python 使子列表索引引用原始列表

Python 使子列表索引引用原始列表,python,Python,我需要检查某个特定属性的子列表,然后返回满足该属性的bin,但作为原始列表的索引。目前,我必须手动执行此操作: sublist = mylist[start:end] positive = search(sublist) positive = start + positive posiveList.append(positive) 有没有更优雅/惯用的方法来实现这一点?如果我理解正确,您希望保存所有匹配元素的索引 如果是这样,那么认为您正在寻找: positiveList = [i for

我需要检查某个特定属性的子列表,然后返回满足该属性的bin,但作为原始列表的索引。目前,我必须手动执行此操作:

sublist = mylist[start:end]

positive = search(sublist)
positive = start + positive 
posiveList.append(positive)

有没有更优雅/惯用的方法来实现这一点?

如果我理解正确,您希望保存所有匹配元素的索引

如果是这样,那么认为您正在寻找:

positiveList = [i for i, item in enumerate(mylist[start:end])
                if validate_item(item)]

其中,
validate\u item
应该检查此项是否为必需项,并返回True/False。

如果我理解正确,您希望保存所有匹配元素的索引

如果是这样,那么认为您正在寻找:

positiveList = [i for i, item in enumerate(mylist[start:end])
                if validate_item(item)]

其中,
validate\u item
基本上应该检查该项是否为必需项,并返回True/False。

我想你要问的是:

如果我在子列表中搜索并找到索引,是否有一种简单的方法将其转换为原始列表中的索引

不,唯一的方法是您已经在做的事情:您需要将
开始
偏移量添加回索引,以获得原始列表中的索引

这是有意义的,因为子列表和原始列表之间没有实际关联。以这个例子为例:

>>> x = [1,2,3,4,5]
>>> y = x[1:3]
>>> z = [2,3]
>>> y == z
True

z
x
的关系与
y
x
的关系一样密切。尽管
y
是使用切片语法创建的,但它只是
x
中一系列元素的副本-它只是一个普通列表,没有对原始列表的实际引用
x
。由于
x
y
之间没有关系,因此无法从
y
-索引中获取原始
x
-索引。

我想你要问的是:

如果我在子列表中搜索并找到索引,是否有一种简单的方法将其转换为原始列表中的索引

不,唯一的方法是您已经在做的事情:您需要将
开始
偏移量添加回索引,以获得原始列表中的索引

这是有意义的,因为子列表和原始列表之间没有实际关联。以这个例子为例:

>>> x = [1,2,3,4,5]
>>> y = x[1:3]
>>> z = [2,3]
>>> y == z
True

z
x
的关系与
y
x
的关系一样密切。尽管
y
是使用切片语法创建的,但它只是
x
中一系列元素的副本-它只是一个普通列表,没有对原始列表的实际引用
x
。由于内置于
y
中的
x
y
之间没有关系,因此无法从
y
-索引中获取原始
x
-索引。

如果您的搜索操作符支持它或可以修改以支持它,则
搜索(wholelist,startfrom,endat)
应返回实际索引。

如果您的搜索操作符支持该索引,或者可以修改以支持该索引,则
搜索(wholelist,startfrom,endat)
应返回实际索引。

请提供更好的示例使其更清晰。请提供更好的示例使其更清晰。