[英]Split a String when character is different to preceeding one in Python
當位置K處的字符與K-1不同時,我想分割從用戶處取的字符串
但是我遇到了一些困難。
這是我到目前為止:
UserInput = input("hi enter a string:")
Groups = []
for x in range(len(UserInput)):
if (UserInput[x] != UserInput[x-1]):
print(UserInput[x])
如果你不明白我想要的是一個例子:說用戶輸入:b444Mrr - <<<] 0我想在屏幕上輸出:b,444,M,rr, - ,<<<,], 0
你可以使用itertools.groupby() ,觀察:
import itertools
user_input = input("Please enter a string:")
groups = []
for _, group in itertools.groupby(user_input):
groups.append(''.join(group))
print('Here is that string split when a character changes: %s' % ', '.join(groups))
給出示例的示例用法:
Please enter a string: b444Mrr--<<<]0
Here is that string split when a character changes: b, 444, M, rr, --, <<<, ], 0
注意在Python中使用snake_case而不是TitleCase (你在嘗試中做什么)或camelCase
你可以使用unicode值對每個char不同的邏輯,並且可以用於不同字符的比較,如下面的代碼: -
inp=input("Enter String ")
prev=ord(inp[0])
str1=inp[0]
str=inp[1:]
for i in str:
curr=ord(i)
if prev==curr:
str1=str1+i
elif prev!=curr:
print(str1)
prev=curr
str1=""
str1=i
print(str1)
舉例說明: -
Enter String b444Mrr--<<<]0
b 444 M rr -- <<< ] 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.