Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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
List Python,匹配两个列表';s元素_List_Python_Elements_Matching - Fatal编程技术网

List Python,匹配两个列表';s元素

List Python,匹配两个列表';s元素,list,python,elements,matching,List,Python,Elements,Matching,上面是我正在使用的两个数组。我正试图以一种类似于蟒蛇的方式将元素匹配在一起 例如: 如果xType为2,我想计算一个名为yType的变量,以对应其y中的值(位置)。所以我应该得到y=384。如果xType=3我应该得到1024 我该怎么做呢 x= [0,2,3,5,6]; y= [64,384,1024,4096,384]; 查找“python中的映射”或类似的内容 查找“python中的映射”或类似内容这太简短了,即使堆栈溢出也不允许我提交这么简短的答案: a = {0: 64, 2:384

上面是我正在使用的两个数组。我正试图以一种类似于蟒蛇的方式将元素匹配在一起

例如:

如果
xType
为2,我想计算一个名为
yType
的变量,以对应其y中的值(位置)。所以我应该得到
y=384
。如果
xType=3
我应该得到1024

我该怎么做呢

x= [0,2,3,5,6];
y= [64,384,1024,4096,384];
查找“python中的映射”或类似的内容


查找“python中的映射”或类似内容这太简短了,即使堆栈溢出也不允许我提交这么简短的答案:

a = {0: 64, 2:384, ...}
这将返回
y
中与
2
位置对应的元素或
x
列表中的任何其他给定值

希望有帮助:)


另外,这可能是你需要的。尝试使用它们。

这太简短了,即使堆栈溢出也不允许我提交这么简短的答案:

a = {0: 64, 2:384, ...}
这将返回
y
中与
2
位置对应的元素或
x
列表中的任何其他给定值

希望有帮助:)


另外,这可能是你需要的。尝试使用它们。

如果
x
中的元素是唯一的,您可以使用它们作为a中的键来查找
y
中具有相同索引的元素。像这样:

y[x.index(2)]

如果要进行大量查找,这很有用,但如果只想进行一次查找,则效率更高

如果
x
中的元素是唯一的,则可以将它们用作a中的键,以查找
y
中具有相同索引的元素。像这样:

y[x.index(2)]
x = [0,2,3,5,6]
y = [64,384,1024,4096,384]

y_from_x = dict(zip(x,y))

print y_from_x[2] # prints 384
print y_from_x[3] # prints 1024
如果您想进行大量查找,这很有用,但是如果您只想进行一次查找,则效率更高

x = [0,2,3,5,6]
y = [64,384,1024,4096,384]

y_from_x = dict(zip(x,y))

print y_from_x[2] # prints 384
print y_from_x[3] # prints 1024
但是,如果还需要在x中查找y元素,则还需要一个
yxmap
。如果出于某种原因(可能是因为您在程序过程中修改了这些列表),您可以使用
i=x.index(2)
,然后使用
y[i]


但是,如果还需要在x中查找y元素,则还需要一个
yxmap
。如果出于某种原因(可能是因为您在程序过程中修改了这些列表),您可以使用
i=x.index(2)
,然后使用
y[i]
如果您的具体目标是从您给出的两个列表中生成一个
dict
,请使用
zip

>>> xymap = dict(zip(x, y))
>>> xymap[2]
384
去掉那些分号

如果您不需要映射类型,但只想创建成对的项,
zip
单独即可:

>>> x = [0,2,3,5,6]
>>> y = [64,384,1024,4096,384]
>>> dict(zip(x, y))
{0: 64, 2: 384, 3: 1024, 5: 4096, 6: 384}

如果您的具体目标是从您给出的两个列表中生成一个
dict
,请使用
zip

>>> xymap = dict(zip(x, y))
>>> xymap[2]
384
去掉那些分号

如果您不需要映射类型,但只想创建成对的项,
zip
单独即可:

>>> x = [0,2,3,5,6]
>>> y = [64,384,1024,4096,384]
>>> dict(zip(x, y))
{0: 64, 2: 384, 3: 1024, 5: 4096, 6: 384}

听上去你想要一个口述,看,听上去你想要一个口述,看,谢谢大家,这就是我需要的。但我也喜欢字典和地图的概念。我会调查的。非常感谢大家,这是我需要的。但我也喜欢字典和地图的概念。我会调查的。非常感谢你