我有一个字符串CNCCN,我需要找到两个Ns之间的索引距离。
我知道有一些方法可以做到这一点,但是涉及编写许多行代码。有没有一线可以做到这一点?
答案 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()
进行相同的操作,但是从右开始。