gpt4 book ai didi

python - 循环遍历字符串并仅返回某些字符。 Python

转载 作者:行者123 更新时间:2023-12-01 02:34:39 26 4
gpt4 key购买 nike

我在创建一个应该首先返回小写字母“_”和“.”的函数时遇到问题。然后是大写字母“”和“|”以该顺序。我的版本似乎也返回数字和特殊字符,例如 <>@ ,但我不希望它这样做,它只应该读取输入字符串一次,我不知道我的代码是否实现了这一点。

我的代码是:

def split_iterative(n):
splitted_first = ""
splitted_second = ""
for i in n:
if i == i.lower() or i == "_" or i == ".":
splitted_first = splitted_first + i
elif i == i.upper() or i == " " or i == "|":
splitted_second = splitted_second + i
return splitted_first + splitted_second

如果我这样做plit_iterative("'lMiED)teD5E,_hLAe;Nm,0@Dli&Eg ,#4aI?rN@T§&e7#4E #<(S0A?<)NT8<0'"))它返回"'li)te5,_he;m,0@li&g ,#4a?r@§&e7#4 #<(0?<)8<0'MEDDELANDEINTESANT"这是不正确的,因为它应该消除所有这些特殊字符和数字。我该如何解决?它应该返回 ('lite_hemligare', 'MEDDELANDE INTE SANT')

最佳答案

你可以试试这个:

def f(input_string):
str1 = str2 = ""
for character in input_string:
if character.isalpha():
if character.islower():
str1 += character
else:
str2 += character
elif character in "_.":
str1 += character
elif character in " |":
str2 += character
return str1, str2

输出:

>>> input_string = "'lMiED)teD5E,_hLAe;Nm,0@Dli&Eg ,#4aI?rN@T§&e7#4E #<(S0A?<)NT8<0'"
>>>
>>> print f(input_string)
('lite_hemligare', 'MEDDELANDE INTE SANT')
>>>

关于python - 循环遍历字符串并仅返回某些字符。 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46389458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com