在python中比较和编辑三个不同长度的列表?

时间:2014-02-04 22:17:47

标签: python

我有三个清单:

a= [800, 900, 1800, 2000, 1500, 700]

b= [ 1800, 800 ]

c= [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]

列表a和列表c都是以它们形成图形的方式制作的,其中[0]对应于c [0]。

我希望将列表a []与列表b []进行比较,当列表匹配时,我希望获得列表中的位置,以便我可以使用新值编辑同一位置的列表c。

示例:

new value = 0.5

a[0] == b[1]

retrieve 0

c[0] = new value

这可能吗?

2 个答案:

答案 0 :(得分:2)

intersect = set(a).intersection(b)
for i,e in enumerate(a):
    if e in intersect:
        c[i] = newValue

输出:

>>> c
[0.5, 1.0, 0.5, 3.0, 4.0, 5.0]

答案 1 :(得分:1)

a= [800, 900, 1800, 2000, 1500, 700]
b= [ 1800, 800 ]
c= [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]

for elem in b:

    if elem in a:

        c_index = a.index(elem)

        c[c_index] = "Some value"

print c