字符串中两个字母之间的距离

时间:2019-11-22 11:49:57

标签: python string list

我有一个字符串CNCCN,我需要找到两个Ns之间的索引距离。

我知道有一些方法可以做到这一点,但是涉及编写许多行代码。有没有一线可以做到这一点?

3 个答案:

答案 0 :(得分:1)

您可以只使用str.index(char, [beg, end])方法来检索字符在字符串中的位置。该方法可让您添加开始位置和结束位置,以检查是否出现了不同的情况。

代码在这里:

s="CNCCN" 
dist = s.index('N', s.index('N') + 1) - s.index('N')

及其输出:

print(dist) 
3

使用多行代码可以避免多次调用s.index(...)方法,但是您请求了一个代码行。

答案 1 :(得分:1)

import numpy as np

string = 'CNCCN'

dist = np.diff([n for (n, e) in enumerate(string) if e == 'N'])[0]
print(dist)

为您的特定示例字符串工作...

答案 2 :(得分:1)

我将使用string.find()string.rfind()方法:

str = 'CNCCN'
dist = str.rfind('N') - str.find('N')
print(dist)
# 3

find()找到从左开始的索引,rfind()进行相同的操作,但是从右开始。