首页 > 解决方案 > 更改列表列表中的值

问题描述

我希望可以用其他值更改此列表列表:

DD = [['10.0.11.100', '10.0.11.10', '10.0.12.10', '10.0.12.100'],
      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.13.10', '10.0.13.100'],
      ['10.0.11.100','10.0.11.10','10.0.1.6','10.0.13.10','10.0.14.10','10.0.14.100'],
      ['10.0.11.100','10.0.11.10','10.0.1.6','10.0.1.14','10.0.4.6','10.0.22.10','10.0.22.100']]

我想得出这个结果:

[['10.0.11.100', 'N1', 'N2', '10.0.12.100'],
['10.0.11.100', 'N1', '10.0.1.6', 'N3', '10.0.13.100'],
['10.0.11.100','N1','10.0.1.6','N3','N4','10.0.14.100'],
['10.0.11.100','N1','10.0.1.6','10.0.1.14','10.0.4.6','10.0.22.10','10.0.22.100']]

我试图这样做,但这是错误的解决方案:

for v in DD:
    if v == '10.0.11.10':
      v[i] = 'N1'
    elif v == '10.0.12.10':
      v[i] = 'N2'
    elif v == '10.0.13.10':
      v[i] = 'N3'
    elif v == '10.0.14.10':
      v[i] = 'N4'
print(v)

['10.0.11.100',
 '10.0.11.10',
 '10.0.1.6',
 '10.0.1.14',
 '10.0.4.6',
 '10.0.22.10',
 '10.0.22.100']

这是我的整个代码:

DD = [['10.0.11.100', '10.0.11.10', '10.0.12.10', '10.0.12.100'],['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.13.10', '10.0.13.100'],['10.0.11.100','10.0.11.10','10.0.1.6','10.0.13.10','10.0.14.10','10.0.14.100'],['10.0.11.100','10.0.11.10','10.0.1.6','10.0.1.14','10.0.4.6','10.0.22.10','10.0.22.100']]

for v in DD:
    if v == '10.0.11.10':
      v[i] = 'N1'
    elif v == '10.0.12.10':
      v[i] = 'N2'
    elif v == '10.0.13.10':
      v[i] = 'N3'
    elif v == '10.0.14.10':
      v[i] = 'N5'
print(v)

['10.0.11.100',
 '10.0.11.10',
 '10.0.1.6',
 '10.0.1.14',
 '10.0.4.6',
 '10.0.22.10',
 '10.0.22.100']

怎么可能做到这一点?

标签: pythonpython-3.xlistreplace

解决方案


您需要遍历嵌套列表中的项目。这应该这样做:

DD = [['10.0.11.100', '10.0.11.10', '10.0.12.10', '10.0.12.100'],
      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.13.10', '10.0.13.100'],
      ['10.0.11.100','10.0.11.10','10.0.1.6','10.0.13.10','10.0.14.10','10.0.14.100'],
      ['10.0.11.100','10.0.11.10','10.0.1.6','10.0.1.14','10.0.4.6','10.0.22.10','10.0.22.100']] 

for v in DD:
    for i in range(len(v)):
        if v[i] == '10.0.11.10':
            v[i] = 'N1'
        elif v[i] == '10.0.12.10':
            v[i] = 'N2'
        elif v[i] == '10.0.13.10':
             v[i] = 'N3'
        elif v[i] == '10.0.14.10':
             v[i] = 'N4'

推荐阅读