Python 如何基于阵列的另一部分替换阵列的一部分?

Python 如何基于阵列的另一部分替换阵列的一部分?,python,regex,list,Python,Regex,List,我的问题是,只有当200小于t时,我如何扫描“我的列表”中的“comp”,并将关联的时间值从200更改为“t” t = 3000 comp = 'C1' my_list = [[200, 'C1'],[4000, 'C2']] 输出: my_list = [[3000, 'C1'],[4000, 'C2']] 在这种情况下可以做相反的事情,因为列表不应该因为“t”小于“5000”而改变: 使用deepcopy: t = 3000 comp = 'C1' my_list = [[200,

我的问题是,只有当200小于t时,我如何扫描“我的列表”中的“comp”,并将关联的时间值从200更改为“t”

t = 3000
comp = 'C1'
my_list = [[200, 'C1'],[4000, 'C2']] 
输出:

my_list = [[3000, 'C1'],[4000, 'C2']] 
在这种情况下可以做相反的事情,因为列表不应该因为“t”小于“5000”而改变:


使用
deepcopy

t = 3000
comp = 'C1'
my_list = [[200, 'C1'],[4000, 'C2']]

for e in my_list[:]:
    if comp in e:
        if e[0] < t:
            e[0] = t

print(my_list)
试试这个:

my_list = [[t,k[1]] if( k[1]==comp and k[0]<t ) else k for k in my_list]

<代码> MyObList= = [k](1)=COMP和K〔0〕,因此,你可以考虑接受一个帮助你理解和解决你的问题的答案!它将失败:<代码> MyoList= = [ [200,'C3'],[4000,'C2'] ] /代码>
print([[t,e[1]] if e[1] == comp and e[0]<t else e for e in my_list])
[[3000, 'C1'], [4000, 'C2']]
my_list = [[t,k[1]] if( k[1]==comp and k[0]<t ) else k for k in my_list]