如何检查列表中是否存在一系列字符?
我有一个字符串,其中包含一些具有重复出现的序列的字符。我知道字符串是不可变的,所以我将字符串转换为列表。但是,我不确定如何遍历列表、查找事件并更改事件的首字母。
message: DDMCAXQVEKGYBNDDMZUH
Occurence is: DDM
list: ['D', 'D', 'M', 'C', 'A', 'X', 'Q', 'V', 'E', 'K', 'G', 'Y', 'B', 'N', 'D', 'D', 'M', 'Z', 'U', 'H']
我目前所做的只是将消息转换为列表。我尝试了不同的方法,但都没有成功,这就是我没有发布的原因。并不是真正要求您编写代码,但至少要解释如何实现这一点。
请您参考如下方法:
检查一个字符串是否存在于另一个字符串中要容易得多,因为您可以简单地使用 in 运算符:
if 'DDM' in message:
# do something
但由于您的目标是更改出现的第一个字母,您可以使用 str.index 方法获取出现的索引,然后用当前的切片组装一个新字符串字符串和新字母:
try:
i = message.index('DDM')
message = message[:i] + new_letter + message[i + 1:]
except ValueError:
raise RuntimeError("Sequence 'DDM' not found in message.")
