如何解决子列表具有相同值的元组组
我有以下列表:
o = [([1,1,1],[0.9,0.2,0.3]),([1,[0.7,0.6,0.7]),[0.8,([2,2,2],0.9,0.3,0.1]),[0.2,([3,3,3],0.4,[0.1,([4,4],[0.6,4,[0.3,0.1,0.1])]
这是所需的输出:
output = [[([1,0.3])],[([2,0.7])],[([3,0.1])],[([4,0.1])]]
我想从初始列表创建子列表,按每个元组的第一个元素相等进行分组。 这是我到目前为止所做的,但我不知道如何获取如上所示的子列表。
x=[]
for i in range(len(o)-1):
if o[i][0][0] == o[i+1][0][0]:
x.append(o[i])
else:
x[-1].append(o[i])
任何帮助将不胜感激,谢谢!
解决方法
x=[]
for i_o in range(len(o)):
for i_x in range(len(x)):
if o[i_o][0][0]==x[i_x][0][0][0]:
x[i_x].append(o[i_o])
break
else:
x.append([o[i_o]])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。