簡體   English   中英

列表理解中的多個索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM