我已经阅读了以下问题,但与我想要的没什么不同:
Removing a character in a string one at a time
我是python的新手,我在某个地方看到过这个问题。
给出一个数字N和一个1位整数K,最后加上K,一次从数字中除去一位,然后找出最小的出现。
给出:
42 4
24 9
输出:
24
24
这就是我所做的:
n=input().split(" ")
if "0" not in n:
conc_string=n[0]+n[1]
answer=n[0]
#Here I want to remove each digit from string one at a time and check
#Example: '424' should be '24','44','42'
if(any_number<answer):
answer=any_number
print(answer)
但是问题是我已经阅读了python中的字符串是不可变的。那么如何进行呢?除了使用字符串,还有其他有效的方法吗?
P.S。 N可以包含任意数量的数字。
答案 0 :(得分:-1)
您要寻找的是regular expressions
您需要做的是:
import re
# don't actually use the **, i'm putting those there for emphasis.
s = re.search(r"(?P<group_name1>**pattern goes here**)(?P<group_name2>**pattern goes here**, **name of string goes here**)
然后您可以进行分组,然后将其转换为字符串
string = str(s.group('group_name'))
如果您需要帮助,我将留给您寻找匹配项的逻辑,只是发表另一条评论:)
答案 1 :(得分:-1)
将字符串转换为列表并使用它们。最后,使用join()
a = 'abc'
a = list(a)
print(a)
>>>['a', 'b', 'c']
a = ''.join(a)
print(a)
>>>'abc'