如何在列表中查找字符串的总和

Ton*_*Ito 7 python list python-2.7

我有这样的清单

['MGM', '1'], ['MGD', '1'], ['V1', '[0,2,0,1]'], ['AuD', '[0,0,0,1]']
Run Code Online (Sandbox Code Playgroud)

在python中.我想找到像这样的字符串列表的总和:

['MGM', '1'], ['MGD', '1'], ['V1', '3'], ['AuD', '1']
Run Code Online (Sandbox Code Playgroud)

我应该先将它们转换为列表中的列表吗?如果是这样我将如何解决这个问题?

尽力学习如何编写科学代码.

Mar*_*nen 7

鉴于:

s = [['MGM', '1'], ['MGD', '1'], ['V1', '[0,2,0,1]'], ['AuD', '[0,0,0,1]']]
Run Code Online (Sandbox Code Playgroud)

以下将第二个项目转换为Python对象:

import ast
for sublist in s:
    sublist[1] = ast.literal_eval(sublist[1])
Run Code Online (Sandbox Code Playgroud)

结果:

[['MGM', 1], ['MGD', 1], ['V1', [0, 2, 0, 1]], ['AuD', [0, 0, 0, 1]]]
Run Code Online (Sandbox Code Playgroud)

然后通过特殊处理列表将它们转换回来:

for sublist in s:
    if isinstance(sublist[1],list):
        sublist[1] = sum(sublist[1])
    sublist[1] = str(sublist[1])
Run Code Online (Sandbox Code Playgroud)

结果:

[['MGM', '1'], ['MGD', '1'], ['V1', '3'], ['AuD', '1']]
Run Code Online (Sandbox Code Playgroud)