[英]Multiple indexes in list comprehension
我需要編寫一個 function 來返回具有偶數索引的字符串列表。 我在找到一種方法來檢查列表理解中的索引時遇到問題,我嘗試了 index() 但它給了我第一個實例的索引,並且列表不是由唯一字符組成的。
這是我到目前為止得到的:
def even_chars(st):
print(st)
if len(st) < 2 or len(st) > 100:
return 'invalid string'
else:
return [s for s in st if st.index(s) % 2 != 0]
我正在考慮在 index() 中放置另一個參數,因為它可以從給定的索引開始搜索,但是沒有辦法為每個 s 遞增它。 有什么提示嗎? 也許我缺少一些內置的 function?
您可以為此使用 enumerate,本質上返回當前迭代的編號:
[s for i, s in enumerate(st) if i % 2 == 0]
試試這個:
#The original string
st = "this is a string"
# Converted into a list
st_list = list(st)
# Print all the elements at even positions
print(st_list[1::2])
這樣你就不需要 function。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.