給定一個字符串和一個字符,您的任務是找到字符在字符串中的第一個位置。這些類型的問題是非常有競爭力的編程,您需要在其中定位字符在字符串中的位置。
讓我們討論一些解決問題的方法。
方法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