python如何把列表里面的部分值相加??
请教下比如我有一个列表:mobile=[['apple','android','web',1,11],['apple','android','web',2,22],['a...
请教下比如我有一个列表:
mobile = [['apple', 'android', 'web', 1, 11],
['apple', 'android', 'web', 2, 22],
['apple', 'ios', 'web', 3, 33],
['apple', 'ios', 'web', 4, 44]]
怎么写让他输出以下的结果?(纠结很久了,烦请大侠指导下代码,好人一路平安啊)
[['apple', 'android', 'web', 3, 33],['apple', 'ios', 'web', 7, 77],['apple','total','web','10','110']
第1个列表把android的值相加,第2个列表把ios的值相加,第3个列表是所有值total的值相加,
#那个‘total’字段是一个自己定义的字符串,只要展示出来是结果和上面那样就可以了。
在线等~~先多谢了! 展开
mobile = [['apple', 'android', 'web', 1, 11],
['apple', 'android', 'web', 2, 22],
['apple', 'ios', 'web', 3, 33],
['apple', 'ios', 'web', 4, 44]]
怎么写让他输出以下的结果?(纠结很久了,烦请大侠指导下代码,好人一路平安啊)
[['apple', 'android', 'web', 3, 33],['apple', 'ios', 'web', 7, 77],['apple','total','web','10','110']
第1个列表把android的值相加,第2个列表把ios的值相加,第3个列表是所有值total的值相加,
#那个‘total’字段是一个自己定义的字符串,只要展示出来是结果和上面那样就可以了。
在线等~~先多谢了! 展开
3个回答
展开全部
mobile = [['apple', 'android', 'web', 1, 11],
['apple', 'android', 'web', 2, 22],
['apple', 'ios', 'web', 3, 33],
['apple', 'ios', 'web', 4, 44]]
ls_android_3 = []
ls_android_4 = []
ls_ios_3 = []
ls_ios_4 = []
for i in mobile:
if i[1] == 'android':
ls_android_3.append(i[3])
ls_android_4.append(i[4])
if i[1] == 'ios':
ls_ios_3.append(i[3])
ls_ios_4.append(i[4])
ls1 = ['apple','android','web',sum(ls_android_3),sum(ls_android_4)]
ls2 = ['apple', 'ios', 'web', sum(ls_ios_3),sum(ls_ios_4)]
ls3 = ['apple','total','web',sum([ls1[3],ls2[3]]),sum([ls1[4],ls2[4]])]
ls_total = []
ls_total.append(ls1)
ls_total.append(ls2)
ls_total.append(ls3)
print ls_total
展开全部
程序代码如下:
# -*- coding: cp936 -*-
mobile = [
['apple', 'android', 'web', 1, 11],
['apple', 'android', 'web', 2, 22],
['apple', 'ios', 'web', 3, 33],
['apple', 'ios', 'web', 4, 44]]
out=[]
temp=""
index=-1
for ii in range(len(mobile)):
tempM=mobile[ii]
if temp != tempM[1]:
out.append(tempM)
temp = tempM[1]
index=index+1
else:
out[index][3]=out[index][3]+tempM[3]
out[index][4]=out[index][4]+tempM[4]
print out
tempout=[]
tempout.append(out[0][0])
tempout.append('total')
tempout.append(out[0][2])
tempout.append(out[0][3])
tempout.append(out[0][4])
for iii in range(1,len(out)):
tempout[3]=tempout[3]+out[iii][3]
tempout[4]=tempout[4]+out[iii][4]
tempout[3]=str(tempout[3])
tempout[4]=str(tempout[4])
out.append(tempout)
print out
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-20
展开全部
我有一个甜甜圈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询