如何在列表中拆分字符串?

2024-10-02 02:25:44 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我做了:

indexlist = list(zip(indexcsv['2006'], indexcsv['2006col']))

我有一张这样的单子

[('2', 1),
 ('5+12', 2),
 ('6', 2),
 ('7+5', 2),
 ('8', 2),
 ('9', 2)]

1)我想把那些带有+字符的元素,例如('7+5',2)拆分成(('7','5'),2)

我试过:

for i in indexlist:
    i.split("+")

但这给了我一个关于元组没有属性拆分的错误…我做错了什么。如果我甚至不能在一个列表中拆分一个元素,熊猫还能做什么

2)如果#1得到了解,如果我必须把这个列表中的所有x值(x,y)或((x1,x2),y)加起来(在这个例子中是2+5+12+6+7+5+8+9)。我如何遍历这个列表来做加法,因为其中一些是列表中的一个列表(例如(7,5)),所以我不能只做.sum()

这门语言太难了


Tags: in元素列表for属性错误zip字符
2条回答

您需要逐步遍历包含元组的列表,然后将第一个元素转换为整数,然后求和

诀窍是当有+符号时要做什么,并处理该条件:

total = 0
for item in your_list:
   x, y = item
   if '+' in x:
     a, b = x.split('+')
     total += int(a) + int(b)
   else:
     total += int(x)
print(total)

你可以玩这个片段at this repl.it link

你想拆分元组而不是元组的元素

for i in indexlist:
   j = i[0].split("+")

也要做加法

sum_ = 0
for i in indexlist:       
   j = [int(x) for x in i[0].split("+")]        
   sum_ += sum(j)

相关问题 更多 >

    热门问题