ich möchte den Inhalt einer Liste mit dem Inhalt einer anderen Liste vergleichen.
Code: Alles auswählen
liste1 = [[1, 2], [3, 4], [5, 6]]
liste2 = [2, 1]
if liste[0] in (lambda x: x for x in liste1):
print 'Ja'
gruß frank
Code: Alles auswählen
liste1 = [[1, 2], [3, 4], [5, 6]]
liste2 = [2, 1]
if liste[0] in (lambda x: x for x in liste1):
print 'Ja'
Code: Alles auswählen
liste1 = [[1, 2], [3, 4], [5, 6]]
liste2 = [2, 1]
liste2 in liste1
False
liste1 = [[1, 2], [3, 4], [5, 6]]
liste2 = [1, 2]
liste2 in liste1
True
Code: Alles auswählen
if liste2[0] in ....
Code: Alles auswählen
liste1 = [[1, 2], [3, 4], [5, 6]]
liste2 = [1, 2]
for element in liste1:
if liste2[0] in element:
print 'Ja'
Code: Alles auswählen
if liste2 in liste1:
print 'ja'
else:
print 'Nein'
ja
Code: Alles auswählen
if liste2[0] in liste1:
print 'ja'
else:
print 'Nein'
Nein
Code: Alles auswählen
def vergleiche(liste1):
for element in liste1:
return element
if liste2[0] in vergleiche(liste1):
print 'ja'
else:
print 'Nein'
ja
Code: Alles auswählen
if any(liste2[0] in sublist for sublist in liste1):
print 'ja'
else:
print 'nein'
Code: Alles auswählen
>>>liste1 = [[1,2,3], [3,4], range(5)]
>>>liste2 = [3,1,2]
>>>spam = lambda list1, set2: True in [True for elem in list1 if set(elem)==set2]
>>>spam(list1, set(liste2))
True
>>>liste1 = [[1,1,1,1,1,2,2,2,2,2,2,1,1,1]]
>>>liste2 = [2,1]
>>>spam(liste1, set(liste2))
True
Code: Alles auswählen
spam = lambda list1, set2: any([True for elem in list1 if set(elem)==set2])
Nein, deine Funktion `vergleiche' ist, wie BlackJack bereits sagte, einfach nur eine umständliche Art ``liste1[0]'' zu sagen, weil deine Funktion einfach nur immer das erste Element der übergebenen Liste zurückgibt. Mit dem ``return element'' wird die Funktion verlassen. Für immer. Und selbst wenn sie so funktionieren würde, wie du vermutlich gedacht hast, wäre das ja nicht anderes als eine Iteration über eine Liste.kaytec hat geschrieben:Das was du mit 'any' machst, habe ich ja mit der funktion 'vergleiche(liste1):' ja auch gemacht - oder ?
Code: Alles auswählen
def vergleiche(liste1):
for element in liste1:
for subelement in element:
yield subelement