什麼是下面的代碼的最佳/備用Python的方式,在Python中使用標誌替代apporach
li=["Header",1,2,3,4,5]
l=0
for i in li:
if l == 0:
.....
l += 1
else:
....
什麼是下面的代碼的最佳/備用Python的方式,在Python中使用標誌替代apporach
li=["Header",1,2,3,4,5]
l=0
for i in li:
if l == 0:
.....
l += 1
else:
....
您可以更換:
l=0
for i in li:
if l ==0:
frobnosticate(i)
l+= 1
else:
twiddle(i)
有了:
#do something with header outside the loop
frobnosticate(li[0])
#loop over everything but the first element
for i in li[1:]:
twiddle(i)
li=["Header",1,2,3,4,5]
do_stuff(li[0]) # first ....
for i in li[1:]:
normal_stuff(i) # second ...
這將首先處理標題,然後遍歷列表的其餘部分。
使用切片訪問這樣的元素模式已經足夠了。但是,如果你的列表數據類型不是固定/已知的,你也可以使用字典元素重定向到指定的函數:
def access_string_element(string):
....
def access_integer_element(integer):
....
access_table = dict()
access_table[str] = access_string_element
access_table[int] = access_integer_element
...
然後,你可以使用這樣的字典:
for element in li:
access_table[type(element)](element)
這如果您打算處理包含具有不同數據類型的數據的列表,那麼可以獲得更多的好處它會讓你的循環看起來更清晰,並且易於管理。
玩得開心;)
它主要依賴隱藏在'....'的代碼。請提供真實的用例。 – soon