python里,怎么合并相同的数组的值?

例如x=[['北京',2],['北京',1],['天津',1],['福建',1]]因为有两个值是北京,所以最后这个数组(也可以是新的数组)应该是:[['北京',3],['... 例如x=[['北京', 2], ['北京', 1], ['天津', 1], ['福建', 1]]
因为有两个值是北京,所以最后这个数组(也可以是新的数组)应该是:
[['北京', 3], ['天津', 1], ['福建', 1]]
展开
 我来答
孟羽然
推荐于2016-07-20 · TA获得超过2976个赞
知道小有建树答主
回答量:1308
采纳率:70%
帮助的人:577万
展开全部
x=[['北京', 2], ['北京', 1], ['天津', 1], ['福建', 1]]
tmp = {}
for v in x:
tmp[v[0]] = tmp.get(v[0]) and tmp[v[0]] + v[1] or v[1]
x= [ [k, v] for (k, v) in tmp.items() ]
print(x)

输出:
[['北京', 3], ['福建', 1], ['天津', 1]]
aa1ss2_2
2013-02-05 · TA获得超过397个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:196万
展开全部
import collections

x=[['北', 2], ['北', 1], ['天', 1], ['福', 1]]

data = collections.defaultdict( int )

for address ,value in x:
data[ address ] += value

print( data.items( ) )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matlab2000
2013-02-05 · TA获得超过2323个赞
知道大有可为答主
回答量:1678
采纳率:100%
帮助的人:1057万
展开全部
遍历数组,搞个空哈希表,用地名做键,累加次数应该就可以了。最后在转换到数组,顺序可以用另外一个列表记录下来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式