python, zoznamy: ako najisť spoločné a rozdielne prvky
predstavte si situáciu, máte 2 zoznamy
I = [1,2,3,5,8,9]
K = [2,3,4,5,6]
potrebujem vytvoriť z toho tri zoznamy:
a) spločné prvky
b) prvky ktoré su v I ale nie v K
c) prvky ktoré su v K ale nie v I
Existuje na to nejaké v pythone natívna funcia?
Pre pridávanie komentárov sa musíte prihlásiť.
#!/usr/bin/env python
l1 = [1,2,3,4,5]
l2 = [1,2,7,8,9,5]
l3 = [ j for i in l1 for j in l2 if i==j]
print l3
ale neodpustim si jednu poznamku, nikto nemusi byt nejaky guru, staci ak do googla napise python a list comprehension examples!
inak ako mám vedieť, že hľadám slovo comprehension... čo to má so zoznamami, prienikmi a pod. spoločné....
ja len doplnim, ze pekne to ide aj cez mnoziny (sets)
s1 = set([1,2,3,4,5])
s2 = set([1,2,7,8,9,5])
#spolocne prvky
print s1 - (s1 - s2)
#prvky, ktore su v s1 ale nie su v s2
print s1 - s2
#prvky, ktore su v s2 ale nie su v s1
print s2 - s1
vsetky riesenie co som videl pouzivaju nejaky ekvivalent funkcie for (napr. filter)