簡體   English   中英

獲取 Python 中字符串的每第二個和第三個字符

[英]Get every 2nd and 3rd characters of a string in Python

我知道my_str[1::3]以 3 個塊的形式獲取每個第二個字符,但是如果我想獲取每個第二個和第三個字符怎么辦? 有沒有一種巧妙的方法可以通過切片來做到這一點,或者我是否需要一些其他方法,比如列表理解和連接:

new_str = ''.join([s[i * 3 + 1: i * 3 + 3] for i in range(len(s) // 3)])

我認為使用帶有enumerate的列表理解將是最干凈的。

>>> "".join(c if i % 3 in (1,2) else "" for (i, c) in enumerate("peasoup booze scaffold john"))
'eaou boz safol jhn'

為什么不過濾掉第一個項目,而不是只得到第二個和第三個字符?

像這樣的東西:

>>> str = '123456789'
>>> tmp = list(str)
>>> del tmp[::3]
>>> new_str = ''.join(tmp)
>>> new_str
'235689'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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