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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM