Tartalmazás- és hosszúságvizsgálat

A listák esetén látottakhoz hasonlóan halmazt is építhetünk egysoros ciklussal:

>>> {ltr for ltr in 'hawaii'}
{'w', 'a', 'i', 'h'}

A fenti eljárás használható ahhoz is, hogy egy lista elemeiből halmazt készítsünk:

>>> lst= [i*i for i in range(10)] 
>>> lst
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> set= {i for i in lst}
>>> set
{0, 1, 64, 4, 36, 9, 16, 49, 81, 25}

Hasonlóképpen készíthetünk listát is egy halmaz elemeiből, de ez kevésbé tűnik életszerűnek (hiszen így a halmaz elemei minden felismerhető rendszer nélkül kerülnek sorra, s ennek megfelelően kapnak indexet is a listában).

Ugyancsak a korábbiak szerint végezhetünk hosszúság-, illetve tartalmazásvizsgálatot:

>>> len(gen)
12
>>> 'József' in rev
True

Folytatva a Lottó című feladatot (inf_e_20050519_m_04):

print('5. feladat')

son= set()
for i in range(len(lst)):
    for j in range(5):
        son|= {lst[i][j]}

if len(son)==90:
    print('Nem volt olyan szám, amelyet egyszer sem húztak ki az 51 hét alatt.')
else:
    print('Volt olyan szám, amelyet egyszer sem húztak ki az 51 hét alatt.')

Végül a python ternáris operátorként (is) használható egysoros elágazásával:

print('5. feladat')

son= set()
for i in range(len(lst)):
    for j in range(5):
        son|= {lst[i][j]}

print('Nem volt' if len(son)==90 else 'Volt', end= '') 
print(' olyan szám, amelyet egyszer sem húztak ki az 51 hét alatt.')