在两个列表上执行查找并根据条件将第二个列表中的元素添加到第一个列表

克里斯·沃德

我有两个列表,我循环遍历它们以匹配vals1第二个列表中第一个列表中的元素vals2如果元素 indexed[0] fromvals1存在于vals2index[0] 中,我需要对元素 index[1] from 进行分级vals2并替换 indexed[0] from 的元素vals1如果它不存在,我想保持现有元素不变vals1

所以如果vals1=[[callid1, 2021/06/04, 1000, 9000], [callid2, 2021/06/04, 1001, 9001], [callid3, 2021/06/04, 1000, 9000], [callid4, 2021/06/04, 1002, 9002]]

vals1=[[Tom, 'some value', 1000], [Sara, 'some value', 1001], [Pat, 'some value', 1003], [Craig, 'some value', 1004]]

我希望实现的输出vals1是:

[[callid1, 2021/06/04, Tom, 9000], [callid2, 2021/06/04, Sara, 9001], [callid3, 2021/06/04, Tom, 9000], [callid4, 2021/06/04, 1002, 9002]]

我最近才开始学习 Python,但可以在 Apps Script 中使用 ForEach 循环并为每次迭代调用 .find() 来实现这一点。

我尝试了下面的方法,它提供了所需的输出,但返回了两次。

def lookups(vals1, vals2):

    for x in vals1:
        for y in vals2:
            if x[3] == y[3]:
                x[3] = y[0]
    
    return calls

任何建议将不胜感激。

Remco646

我不知道我的理解是否正确,但是根据您的示例,我会说,对于您的函数,只需更改索引即可。

def lookups(vals1, vals2):
    for x in vals1:
        for y in vals2:
            if x[2] == y[2]:
                x[2] = y[0]
                
vals1 = [['callid1', '2021/06/04', 1000, 9000], ['callid2', '2021/06/04', 1001, 9001], ['callid3', '2021/06/04', 1000, 9000], ['callid4', '2021/06/04', 1002, 9002]]
vals2 = [['Tom', 'some value', 1000], ['Sara', 'some value', 1001], ['Pat', 'some value', 1003], ['Craig', 'some value', 1004]]
                
lookups(vals1, vals2)
            
print(vals1)

此代码片段打印所需的输出:

[['callid1', '2021/06/04', 'Tom', 9000], ['callid2', '2021/06/04', 'Sara', 9001], ['callid3', '2021/06/04', 'Tom', 9000], ['callid4', '2021/06/04', 1002, 9002]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Class添加到第二个元素,从第一个元素开始计数

通过第一个列表中的项目索引将项目添加到第二个列表

元组列表列表,按第一个元素分组并添加第二个元素

从两个列表中选一个,将第二个列表值放在第一个下面

如何使用两个列表绘制图形,其中第一个列表是普通列表,第二个列表包含列表

从嵌套的第二个列表中的一个列表中查找元素

如何将三元素字典的列表(第一个元素:term,第二个元素:position,Third:Value)转换为两个元素的字典列表

将元素从第一个数组添加到第二个数组

两个数字并从第一个到第二个数字打印列表

如何通过比较两个列表将缺少的元素添加到第二个列表

我可以从两个列表中创建一个熊猫数据框,但是对于第一个列表的每个元素,我都会在第二个列表中追加n行作为元素?

如何将第二个列表中的元素追加到R中第一个列表中的现有元素

python:在一个列表中查找索引,然后用第一个列表中索引的项目替换第二个列表

编写一个包含两个列表的函数,如果第一个列表与第二个列表中的相同元素相反,则返回True,否则返回False

从列表中的3个元组中获取第一个和第二个元素-Haskell

循环浏览两个列表,从第一个列表中获取值,然后将它们添加到第二个列表中

从第二个列表中减去第一个列表中的元素

根据Rails中的第一个选择列表值更改第二个选择列表

AWK比较两个文件,如果匹配,则将第二个文件中的新列添加到第一个文件中

Bash脚本查找第二个列表中第一个出现的列表元素

如何将第一个列表中的元素与 SML 中第二个列表中的所有元素配对?

根据第一个下拉列表中的选择显示第二个下拉列表?

在两个列表中,如何根据第一个列表值获取第二个列表的值?

查找第一个值并返回列表中的第二个值

将第一个列表中的每个值与第二个列表配对

如何从添加到第一个列表的第二个列表中检索数据

Python:根据第一个列表索引确定第二个列表中的值

Haskell:如果两个元组的第一个元素相等,则在元组列表中添加第二个元素?

在嵌套列表中从第一个列表中选择第一个元素,从第二个列表中选择第二个元素,依此类推