Python | 查找给定字符串中字符的位置

 
 

给定一个字符串和一个字符,您的任务是找到字符在字符串中的第一个位置。这些类型的问题是非常有竞争力的编程,您需要在其中定位字符在字符串中的位置。

让我们讨论一些解决问题的方法。

方法1:Using Naive Method

# Python3 code to demonstrate 
# to find the first position of the character 
# in a given string 

# Initialising string 
ini_string = 'abcdef'

# Character to find 
c = "b"
# printing initial string and character 
print ("initial_string : ", ini_string, "\ncharacter_to_find : ", c) 

# Using Naive Method 
res = None
for i in range(0, len(ini_string)): 
    if ini_string[i] == c: 
        res = i + 1
        break
    
if res == None: 
    print ("No such charater available in string") 
else: 
    print ("Character {} is present at {}".format(c, str(res))) 

 

输出:
initial_string :  abcdef 
character_to_find :  b
Character b is present at 2

方法2:Using find

如果字符不存在,则此方法返回-1

# Python3 code to demonstrate 
# to find first position of character 
# in a given string 

# Initialising string 
ini_string = 'abcdef'
ini_string2 = 'xyze'

# Character to find 
c = "b"
# printing initial string and character 
print ("initial_strings : ", ini_string, " ", 
        ini_string2, "\ncharacter_to_find : ", c) 

# Using find Method 
res1 = ini_string.find(c) 
res2 = ini_string2.find(c) 
    
if res1 == -1: 
    print ("No such charater available in string {}".format( 
                                                ini_string)) 
else: 
    print ("Character {} in string {} is present at {}".format( 
                                c, ini_string, str(res1 + 1))) 
    
if res2 == -1: 
    print ("No such charater available in string {}".format( 
                                            ini_string2)) 
else: 
    print ("Character {} in string {} is present at {}".format( 
                                c, ini_string2, str(res2 + 1))) 

 

输出:

initial_strings :  abcdef   xyze 
character_to_find :  b
Character b in string abcdef is present at 2
No such charater available in string xyze

方法#3:Using index()

如果字符不存在,则此方法引发ValueError

# Python3 code to demonstrate 
# to find first position of character 
# in a given string 

# Initialising string 
ini_string1 = 'xyze'

# Character to find 
c = "b"
# printing initial string and character 
print ("initial_strings : ", ini_string1, 
            "\ncharacter_to_find : ", c) 

# Using index Method 
try: 
    res = ini_string1.index(c) 
    print ("Character {} in string {} is present at {}".format( 
                                c, ini_string1, str(res + 1))) 
except ValueError as e: 
    print ("No such charater available in string {}".format(ini_string1)) 
输出:
initial_strings :  xyze 
character_to_find :  b
No such charater available in string xyze

 

posted @ 2020-10-25 20:50  DaisyLinux  阅读(15421)  评论(0编辑  收藏  举报