0
我正在用Python編寫一個程序,它返回/檢索給定列表中的所有相鄰元素。所以,我開發了兩個功能:發電機v/s返回列表 - Python
一個存儲所有這樣的相鄰值在列表中,並返回列表:
def ret_adj(data):
#adjs = []
visited = []
for i in data:
if i in visited:
#adjs.append(i)
yield i
else:
visited.append(i)
if data[data.index(i)+1] != i:
del visited[:]
#return adjs
,另一種產生的值:
if i in visited:
#adjs.append(i)
yield i
else:
visited.append(i)
if data[data.index(i)+1] != i:
del visited[:]
所以我的問題基本上是,哪種方法更高效?將所有值作爲列表返回,還是讓它們出現?
這些方法都不使用'return'。 – Kevin
您正在使用'visited = []'的方式應該使用**'set' **。 –