您当前的位置:首页 > 计算机 > 编程开发 > Python

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

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

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)

 

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