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