【问题标题】:how update a list value, matching another list如何更新列表值,匹配另一个列表
【发布时间】:2020-10-08 22:39:00
【问题描述】:

假设我总共有四个列表,看起来像这样

OrderNum1 = ['110','375']
originaltime = ['12AM','5AM']

OrderNum2 = ['110','215']
newtime = ['2AM', '3AM']

有没有办法仅在 ordernum1 和 ordernum2 中的值匹配时替换原始时间值?

在这种情况下,目标是用 2AM 替换 12AM,因为 ordernum1 和 ordernum2 的索引 0 都是 '110',所以输出看起来像

print(originaltime)
2AM, 5AM

【问题讨论】:

  • 简单,如果条件可以完成这项工作

标签: python list replace


【解决方案1】:

这就是你要找的吗?

OrderNum1 = ['110','375']
originaltime = ['12AM','5AM']

OrderNum2 = ['110','215']
newtime = ['2AM', '3AM']

for i in range(len(OrderNum1)):
    if OrderNum1[i] == OrderNum2[i]:
        originaltime[i] = newtime[i]

print(originaltime)

输出:

['2AM', '5AM']

【讨论】:

    【解决方案2】:

    您可以使用zip()enumerate() 的组合:

    OrderNum1 = ['110','375']
    originaltime = ['12AM','5AM']
    
    OrderNum2 = ['110','215']
    newtime = ['2AM', '3AM']
    
    for i,(a,b) in enumerate(zip(OrderNum1,OrderNum2)):
        if a == b:
            originaltime[i] = newtime[i]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      • 2018-10-18
      • 2019-12-26
      • 2021-10-16
      • 2021-08-11
      相关资源
      最近更新 更多