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

时间:2018-06-25 03:47:51

标签: 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 ()

这种语言太难了

2 个答案:

答案 0 :(得分:0)

您正在尝试将元组拆分为元组的元素。

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)

答案 1 :(得分:0)

您需要逐步浏览包含元组的列表,然后将第一个元素转换为整数,然后对其求和。

诀窍是当出现+号并处理该情况时该怎么做:

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