python_获得列表中重复的项的索引

a = [‘b‘,‘a‘, ‘b‘, ‘c‘, ‘a‘, ‘c‘,‘d‘]

b=[]
f=[]
for i in a:
    c=[]
    for item in enumerate(a):
        if item[1] ==i:
            c.append(item[0])
    b.append(c)
print(b)

for j in b:
    d=[]
    for k in j:
        d.append(a[k])
    f.append(d)
print(f)

得到

#b   [[0, 2], [1, 4], [0, 2], [3, 5], [1, 4], [3, 5], [6]]

#f   [[‘b‘, ‘b‘], [‘a‘, ‘a‘], [‘b‘, ‘b‘], [‘c‘, ‘c‘], [‘a‘, ‘a‘], [‘c‘, ‘c‘], [‘d‘]]

其中存在重复的小列表,可以对此列表去重

e=[]
for i in b:
    if i not in e:
        e.append(i)
print(e) #[[0, 2], [1, 4], [3, 5], [6]]
时间: 2024-10-08 04:49:49

python_获得列表中重复的项的索引的相关文章

去除List列表中重复值(稍作调整,也适合于List<T> 和 List<?>)

方法一 循环元素删除 [c-sharp] view plaincopy public static void removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ) { if (list.get(j).equals(list.get(i))) { list.remove(j); } } } System.

在窗体中有两个多选列表,用户可以从左侧列表中选择任意项,添加到右侧列表中。反之亦然。

<form name="myForm"> <table> <tr valign="top"> <td> <select name="leftList" multiple size="6" style="width:50px;"> <option>a</option> <option>b</option>

Python练习题4(列表去重):[5,3,4,&#39;ok&#39;,4,3,&#39;abc&#39;,8,52,&#39;ok&#39;]去除列表中重复内容 方法一:使用set 方法二:不使用set,自己写方法

方法一:利用集合去重 1 list1 = [5,3,4,'ok',4,3,'abc',8,52,'ok'] 2 list1=list(set(list1)) 3 print(list1) 方法二:此方法略微冗余,先判断元素是否重复,再将重复元素提取并保存到新列表中,再for 新建的列表元素,删除原列表 1 def list_dup(ls): 2 list2 = [] 3 length = len(ls) #获取列表元素个数 4 for i in range(0,length-1): 5 for

python 删除列表中重复的数字

方法一:将列表转化成集合,再转化成列表 Li = [1,1,2,2,3,3,4,4] print(list(set(Li))) 方法二:创建一个新列表,遍历列表是否重复,不重复插入新列表 def UniqueInt(Lists): temp_li = [] for i in Lists: if i not in temp_li: temp_li.append(i) return temp_li Li = [1,1,2,2,3,3,4,4] print(UniqueInt(Li)) 原文地址:ht

pyhon 去除列表中重复元素

Python set() 函数 描述 set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. 语法 set 语法: class set([iterable]) 参数说明: iterable -- 可迭代对象对象: 返回值 返回新的集合对象. 实例 以下实例展示了 set 的使用方法: >>>x = set('runoob') >>> y = set('google') >>> x, y (set(['b'

python中如何去除列表中重复元素?

方法一: 用内置函数set: 1 list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9] 2 list2 = list(set(list1)) 3 print(list2) 方法二: 遍历去除重复 1 list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9] 2 list2=[] 3 for i in list1: 4 if not i in list2: 5 list2.append(i) 6 print(list2

asp下去除数组中重复的项的方法

<% Function MoveR(Rstr) Dim i,SpStr SpStr = Split(Rstr,",") For i = 0 To Ubound(Spstr) If I = 0 then MoveR = MoveR & SpStr(i) & "," Else If instr(MoveR,SpStr(i))=0 and i=Ubound(Spstr) Then MoveR = MoveR & SpStr(i) Elseif

Python 去除列表中重复的元素

来自比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c', 'b', 'd'] 如果想要保持他们原来的排序: 用list类的sort方法 l

mysql删除表中重复数据创建唯一索引。

表结构如下,需要增加xx,yy复合唯一索引.create table table_a (id int(11) NOT NULL AUTO_INCREMENT,xx int(11) NOT NULL,yy int(11) NOT NULL,PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8; 保留最小iddelete a.* from table_a as a,( select min(id) id , xx,yy from table_a g