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

qq_35143564 2019-01-13 02:50:30

例如x=[['北京', 2], ['北京', 1], ['天津', 1], ['福建', 1]]
因为有两个值是北京,所以最后这个数组(也可以是新的数组)应该是:
[['北京', 2,1], ['天津', 1], ['福建', 1]]
...全文
1086 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄哥Python培训 2019-10-28
  • 打赏
  • 举报
回复
方法之二: 用字典
黄哥Python培训 2019-10-28
  • 打赏
  • 举报
回复 1
方法之一: 先按照地名sort,再遍历一次,即可。 请看代码
野狐论禅 2019-10-28
  • 打赏
  • 举报
回复
def amp_merge_value(): # 对相同频率的键值对应的波幅进行归一叠加 x_dict = {} for xi in fraq_amplitude: if x_dict.__contains__(xi[0]): x_dict[xi[0]][0] += xi[1] else: x_dict[xi[0]] = [xi[1]] x_list = [] for i in x_dict: x_item = [i] x_item.extend(x_dict[i]) x_list.append(x_item) return x_list
胖子吴 2019-01-16
  • 打赏
  • 举报
回复
dic = {}
l=[['北京', 2], ['北京', 1], ['天津', 1], ['福建', 1], ['北京', 1]]

def func_map(item):
    key = item[0]
    val = item[1]
    if key in dic:
        dic[key] = str(dic[key]) + "," +str(val)
    else:
        dic[key] = val

print([list(i) for i in zip(dic.keys(),dic.values())])

Mr.Zheng~_ 2019-01-16
  • 打赏
  • 举报
回复
lists = [1,1,2,3,5,6] # 转为集合(集合可以去重)~_ sets = set(lists) # 再转回数组~_ listss = list(sets) print(listss)
notback 2019-01-16
  • 打赏
  • 举报
回复
3楼正解,直接转set,再转回来。
galaxybamboo1 2019-01-16
  • 打赏
  • 举报
回复

l=[['北京', 2], ['北京', 1], ['天津', 1], ['福建', 1], ['北京', 1]]
dic = dict(l)
tmp_dict = {}
for key in dic:
    tmp_dict[key] =[]
for a,b in l:
    tmp_dict[a].append(b)

lst = []
for k,v in tmp_dict.items():
    tmp_list = [k]
    tmp_list.extend(v)
    lst.append(tmp_list)

print(lst)

baicaisq 2019-01-14
  • 打赏
  • 举报
回复


x = [['北京', 2], ['北京', 1], ['天津', 1], ['福建', 1]]
dict_x = {}

list_x = []
for i in x:
    if i[0] in dict_x.keys():
        dict_x[i[0]].append(i[1])
    else:
        dict_x[i[0]] = [i[0],i[1]]
print(dict_x)
for j in dict_x.keys():
    list_x.append(dict_x[j])
print(list_x)

陈年椰子 2019-01-14
  • 打赏
  • 举报
回复
简单思路就是整到字典里再转成列表。

x=[['北京', 2], ['北京', 1], ['天津', 1], ['福建', 1]]
x_dict = {}
for xi in x:
if x_dict.has_key(xi[0]):
x_temp = x_dict[xi[0]]
x_temp.append(xi[1])
x_dict[xi[0]] = x_temp
else:
x_dict[xi[0]] = [xi[1]]

x_list = []
for i in x_dict:
x_item = [i]
x_item.extend(x_dict[i])
x_list.append(x_item)

print(x_list)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧