Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 3.x 如果已知另外两个值,则从数组返回一个值-Python3_Python 3.x - Fatal编程技术网

Python 3.x 如果已知另外两个值,则从数组返回一个值-Python3

Python 3.x 如果已知另外两个值,则从数组返回一个值-Python3,python-3.x,Python 3.x,对于这里经验丰富的python程序员来说,这可能是一个基本问题,但是如果给定了三个参数中的两个,那么我正在寻找一种在三个参数的数组中找到第三个值的简洁方法 例如: array1 = [["a1", 22, 3], ["a2", 222, 4]] array2 = ["a1", 22] 我想根据数组2中给出的值得到值3,作为这个例子的答案。把它转换成元组并使用它对你有用吗?见下文: >>> array1 = [[&qu

对于这里经验丰富的python程序员来说,这可能是一个基本问题,但是如果给定了三个参数中的两个,那么我正在寻找一种在三个参数的数组中找到第三个值的简洁方法

例如:

array1 = [["a1", 22, 3], ["a2", 222, 4]]
array2 = ["a1", 22]

我想根据数组2中给出的值得到值3,作为这个例子的答案。

把它转换成元组并使用它对你有用吗?见下文:

>>> array1 = [["a1", 22, 3], ["a2", 222, 4]]
>>> array1_dict = {(a,b):c for a,b,c in array1}
>>> array1_dict[tuple(array2)]
3
>>> 
另一种方法当然是循环数组1中的所有项并不断检查条件

>>> for each_item in array1:
...     if each_item[0] == array2[0] and each_item[1] == array2[1]:
...             print(f'My required value: {each_item[2]}')
... 
My required value: 3
>>> 


嗯,把它转换成dic是不可能的,因为我有一个比我在这里介绍的更复杂的问题。我希望有比for循环更好的东西,但是因为没有人提出其他东西——我想没有更好的方法了:D