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.')