ich habe leider dieses Problem und weiß grad nicht weiter, ich möchte gucken ob in eienr Liste zum Beispiel eine Zahl mehrmals vorkommt.
Zum Beispiel:
Code: Alles auswählen
myList = [1,2,3,4,4,5,6,7,8]
Kennt jemand dafür eine Methode?
MfG Schaf220
Code: Alles auswählen
myList = [1,2,3,4,4,5,6,7,8]
Code: Alles auswählen
>>> myList = [1,2,3,4,4,5,6,7,8]
>>> dblList = []
>>> for i, x in enumerate(myList):
if myList.count(x) > 1:
dblList.append((x, i))
>>> dblList
[(4, 3), (4, 4)]
Code: Alles auswählen
>>> myList = [1,2,3,4,4,5,6,7,8]
>>> dblList = [(x, i) for i, x in enumerate(myList) if myList.count(x) > 1]
>>> dblList
[(4, 3), (4, 4)]
Code: Alles auswählen
[i for i, (x, y) in enumerate(zip(myList, myList[1:])) if x==y]
Code: Alles auswählen
myList = [1,2,3,4,9,5,4,7,8]
Code: Alles auswählen
from collections import defaultdict
d = defaultdict(list)
for i, e in enumerate([1,2,3,4,4,5,6,7,4]):
d[e].append(i)
print [(e, d[e]) for e in d if len(d[e]) >1]
Code: Alles auswählen
In [29]: class MyList(list):
....: def indices(self, value):
....: return tuple(i for i,v in enumerate(self) if v == value)
....:
....:
In [30]: l = MyList([1, 2, 3, 4, 9, 5, 4, 7, 8])
In [31]: l.indices(4)
Out[31]: (3, 6)
BlackJack hat geschrieben:@Dav1d: Das wird aber mehr als umständlich. Es waren als Ergebnis die Idizes der Dopplungen gefragt.