所以我做到了:
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 ()
这种语言太难了
答案 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。