Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.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,我尝试了很多方法来从signalxIP获取值,但似乎不起作用。。appliedFieldIP和signalxIP的值不均匀 appliedFieldIP = [10,5,0,-5,-10,-5,0,5,10] signalxIP = [2,1,0,-1,-2,-1,0,1,2] 我想要的范围是从0到-5到-10。我使用下面的代码来实现它。但我无法从signalxIP获取值 aIP = appliedFieldIP[:appliedFieldIP.index(min(appliedFieldIP

我尝试了很多方法来从signalxIP获取值,但似乎不起作用。。appliedFieldIP和signalxIP的值不均匀

appliedFieldIP = [10,5,0,-5,-10,-5,0,5,10]
signalxIP = [2,1,0,-1,-2,-1,0,1,2]
我想要的范围是从0到-5到-10。我使用下面的代码来实现它。但我无法从signalxIP获取值

aIP = appliedFieldIP[:appliedFieldIP.index(min(appliedFieldIP)) + 1] # 10,5,0,-5,-10
x2 = (filter(lambda x: x <= 0 <= max(aIP), aIP)) # 0,-5,-10
print aIP >>> 10,5,0,-5,-10
print x2 >>> 0,-5,-10

这真的很难看,但是:

appliedFieldIP = [10,5,0,-5,-10,-5,0,5,10]
signalxIP = [2,1,0,-1,-2,-1,0,1,2]

zipped = list(zip(appliedFieldIP, signalxIP))
cutoff_index = appliedFieldIP.index(min(appliedFieldIP))+1
zipped2 = zipped[:cutoff_index]
# this aIP should be the same as aIP in your code
aIP = [pair[0] for pair in zipped2]
intermediate = list(filter(lambda x: x[0] <= 0 <= max(aIP), zipped2))
x2 = [pair[0] for pair in intermediate]
y2 = [pair[1] for pair in intermediate]

print(aIP)
print(x2)
print(y2)

基本上,我们的想法是将AppliedFeldIP和signalxIP压缩在一起,然后在压缩列表上执行操作,这样无论何时从AppliedFeldIP部分剪切元素,都可以同时从signalxIP部分剪切相同的元素。最后,我们只提取signalxIP部分,给出列表y2。你可以把它缩短一点,但我把它留得有点冗长,因为我不确定这其中的哪些部分,例如aIP,你以后可能需要重用。

你的预期输出是什么?@GamesBrainiac its在这个例子中。y2=[0,-1,-2]恐怕这并不能解释太多:您提供的代码/示例还不够。为了帮助你,我们必须有更多的信息。如果您可以在这里复制所有相关代码,并向我们显示您得到的输入/输出是什么或任何错误,然后还提供您希望的预期输出是什么,那就太好了
appliedFieldIP = [10,5,0,-5,-10,-5,0,5,10]
signalxIP = [2,1,0,-1,-2,-1,0,1,2]

zipped = list(zip(appliedFieldIP, signalxIP))
cutoff_index = appliedFieldIP.index(min(appliedFieldIP))+1
zipped2 = zipped[:cutoff_index]
# this aIP should be the same as aIP in your code
aIP = [pair[0] for pair in zipped2]
intermediate = list(filter(lambda x: x[0] <= 0 <= max(aIP), zipped2))
x2 = [pair[0] for pair in intermediate]
y2 = [pair[1] for pair in intermediate]

print(aIP)
print(x2)
print(y2)
[10, 5, 0, -5, -10]
[0, -5, -10]
[0, -1, -2]