1. 程式人生 > >Python之set的遍歷方式

Python之set的遍歷方式

不廢話,直接乾貨

 

0、第一種方式,iter(),迭代器

girl_list= ["美女", "好看的美女", "特別好看的美女"]

girl_set = set(girl_list) #嘿嘿,把list轉成set,set就接受一個引數

for every in iter(girl_set):
    print every

 

1、第二種方式(不支援),使用range()或者xrange(),set中的元素無順序(插入元素的時候,就不算順序),不支援下標

girl_list= ["美女", "好看的美女", "特別好看的美女"]

girl_set = set(girl_list) #嘿嘿,把list轉成set,set就接受一個引數

for index in range(len(girl_set)):
    print girl_set[index]

報錯:TypeError: 'set' object does not support indexing

TypeError: 'set' object does not support indexing

 

2、真正的第二種方式,for in

girl_list= ["美女", "好看的美女", "特別好看的美女"]

girl_set = set(girl_list) #嘿嘿,把list轉成set,set就接受一個引數

for every in girl_set:
    print every

輸出結果:可以看到於當初插入list的順序,一點關係都沒有

特別好看的美女
美女
好看的美女

 

3、第三種方式,沒想到也支援enumerate(),臥槽,我理解的不夠深啊

girl_list= ["美女", "好看的美女", "特別好看的美女"]

girl_set = set(girl_list) #嘿嘿,把list轉成set,set就接受一個引數

for index, every in enumerate(girl_set):
    print str(index) + every

輸出結果:

0特別好看的美女
1美女
2好看的美女