以下代码的最佳/替代pythonic方法是什么,
li=["Header",1,2,3,4,5]
l=0
for i in li:
if l == 0:
.....
l += 1
else:
....
答案 0 :(得分:3)
您可以替换:
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)
答案 1 :(得分:2)
li=["Header",1,2,3,4,5]
do_stuff(li[0]) # first ....
for i in li[1:]:
normal_stuff(i) # second ...
这将首先处理标题,然后遍历列表的其余部分。
答案 2 :(得分:0)
使用切片访问这种元素模式就足够了。但是,如果列表中的数据类型未固定/已知,您还可以使用字典将元素重定向到指定的函数:
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)
如果您要处理包含不同数据类型的数据的列表,这种方式会有所帮助。它会使你的循环看起来更清晰,更易于管理。
玩得开心;)