簡體   English   中英

從字符串中提取連續字母對列表

[英]Extract list of consecutive letter pairs from string

如果我有一個字符串,例如hello bob ,我該如何拆分它,以便獲得它們的列表,例如

['he', 'el', 'll', 'lo', 'o ', ' b', 'bo', 'ob']

包括任何空格。 我了解如何將其拆分為hello等,但我想像我上面所說的那樣包括每一對。

您可以結合使用列表理解字符串切片,如下所示:

s = 'hello bob'
res = [s[i:i+2] for i in range(len(s)-1)]
print(res)

Output:

['he', 'el', 'll', 'lo', 'o ', ' b', 'bo', 'ob']

試試這只是一行:

s = "hello bob"
[s[i]+s[i+1] for i,v in enumerate(s) if i+1 < len(s)]

output 將是:

['he', 'el', 'll', 'lo', 'o ', ' b', 'bo', 'ob']

您可以按照以下方式使用zip執行該任務:

text = "hello bob"
pairs = [''.join(i) for i in zip(text[:-1], text[1:])]
print(pairs)

Output:

['he', 'el', 'll', 'lo', 'o ', ' b', 'bo', 'ob']

解釋:我zip (即從相應的元素創建 2 元組)從hello boello bob然后通過連接每個 2 元組的元素將它們變成str s。

暫無
暫無

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

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