2025年4月12日 星期六 乙巳(蛇)年 正月十三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python利用defaultdict、enumerate将列表中相同名字对应的索引值index放到一起,组成列表,最后整体放到一个列表中

时间:12-10来源:作者:点击数:16

python利用defaultdict、enumerate将列表中相同名字对应的索引值index放到一起,组成列表,最后整体放到一个列表中:

  • #!/usr/bin/env python
  • # coding=utf-8
  • # 将列表中相同名字对应的索引值放到一起,组成列表,最后整体放到一个列表中
  • import itertools
  • from collections import defaultdict
  • str1 = ['名称1','名称1','名称1','名称2','名称1','名称3','名称3']
  • activity_index = []
  • d = defaultdict(list)
  • for k,va in [(v,i) for i,v in enumerate(str1)]:
  • d[k].append(va)
  • # defaultdict(<class 'list'>, {'名称1': [0, 1, 2, 4], '名称2': [3], '名称3': [5, 6]})
  • print(d)
  • for val in d.values():
  • activity_index.append(val)
  • # 结果:[[0, 1, 2, 4], [3], [5, 6]]
  • print(activity_index)

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐