如何检查列表中是否存在字符序列?
我有一个字符串,其中一些字符具有重复出现的序列。我知道字符串是不可变的,所以我将字符串放入列表中。但是,我不确定如何迭代列表、查找出现的情况并更改出现的第一个字母。
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.")
关于python - 如何检查列表中是否存在字符序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54838923/