Python 将选择的索引转换为大写
在本文中,我们将学习一个Python程序,将给定选择的索引的字符串元素转换为大写。
使用的方法
以下是实现此任务的各种方法:
- 使用for循环和upper()函数
-
使用列表推导
-
使用index()和join()函数
示例
假设我们输入了一个字符串和一个包含索引值的列表。现在我们将输入字符串的字符转换为大写,结果字符串中的字符对应于给定的索引,并打印结果字符串。
输入
inputString = 'hello tutorialspoint python'
indexList = [0, 6, 8, 10, 15, 21, 22]
输出
Hello TuToRialsPoint PYthon
在这个示例中,输入列表索引为 0, 6, 8, 10, 15, 21, 22 的字符在输入字符串中被大写。
方法1:使用for循环和upper()函数
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储 输入字符串 并打印给定的输入字符串。
-
创建另一个变量来存储输入索引列表。
-
为存储结果字符串初始化一个空字符串。
-
使用 for循环 通过 len() 函数(返回对象中的项目数)遍历输入字符串的每个字符直到其长度。
-
使用 if条件 语句检查当前索引是否在输入索引列表中,并使用 “in”运算符 。
-
使用 upper()函数 (将所有字符转换为大写)将输入字符串的对应字符转换为大写。
-
使用+运算符(字符串连接)将大写字符添加到结果字符串中,如果条件为 true 。
-
否则,直接将当前字符添加到结果字符串中而不进行修改。
-
将在输入索引处将输入字符串的字符转换为大写后的结果字符串打印出来。
示例
以下程序使用for循环和upper()函数在给定的输入索引处将输入字符串字符转换为大写后返回字符串。
# input string
inputString = 'hello tutorialspoint python'
# printing input string
print("Input String:", inputString)
# input indices list
indexList = [0, 6, 8, 10, 15, 21, 22]
# initializing empty string for storing resultant string
resultantStr = ''
# travsering till the length of an input string
for i in range(0, len(inputString)):
# checking whether the current index is in the input indices list
if i in indexList:
# converting that corresponding character of the input string into uppercase
# and adding to the resultant string
resultantStr += inputString[i].upper()
else:
# else adding that char to the resultant string directly without modifying
resultantStr += inputString[i]
# printing resultant string
print("Resultant string after converting chars to uppercase at the input indices:\n", resultantStr)
输出
执行上述程序后,会生成以下输出结果:
Input String: hello tutorialspoint python
Resultant string after converting chars to uppercase at the input indices:
Hello TuToRialsPoint PYthon
方法2:使用列表推导式
列表推导式
当你希望根据现有列表的值构建一个新列表时,列表推导式提供了一种更短、更简洁的语法。
join() - join()是Python中用于将由字符串分隔符分隔的序列元素连接起来的字符串函数。
步骤
以下是执行所需任务的算法/步骤:
- 使用列表推导式遍历字符串的长度,并检查该索引是否存在于索引列表中,如果是,则转换为大写,否则添加相同字符。
-
使用join()函数将结果列表转换为字符串,传递空字符串作为分隔符。
示例
以下程序使用列表推导式将输入字符串字符转换为大写,并使用给定的输入索引进行转换后返回字符串:
# input string
inputString = 'hello tutorialspoint python'
# printing input string
print("Input String:", inputString)
# input indices list
indexList = [0, 6, 8, 10, 15, 21, 22]
# Using list comprehension to achieve the same in the oneliner
resultantList = [inputString[i].upper() if i in indexList else inputString[i] for i in range(0, len(inputString))]
# Converting the result list to a string using the join() function.
resultantStr = ''.join(resultantList)
# printing resultant string
print("Resultant string after converting chars to uppercase at input indices:\n", resultantStr)
输出
Input String: hello tutorialspoint python
Resultant string after converting chars to uppercase at input indices:
Hello TuToRialsPoint PYthon
方法3:使用index()和join()函数
index()函数
index()函数返回提供的值第一次出现的位置。
语法
list.index(element)
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储所有小写字母作为一个字符串。
-
创建一个变量来存储所有大写字母作为一个字符串。
-
使用list()函数将输入字符串转换为一个列表(字符列表)。
-
使用for循环遍历输入索引列表的每个索引。
-
使用index()函数获取当前字符在小写字母字符串中的索引,并从大写字母字符串中获取对应的索引字符。
-
再次使用join()函数将上述结果列表转换回字符串。
示例
以下程序返回一个字符串,该字符串将输入字符串的字符转换为大写字母并使用index()和join()函数的给定输入索引 –
# input string
inputString = 'hello tutorialspoint python'
# printing input string
print("Input String:", inputString)
# input indices list
indexList = [0, 6, 8, 10, 15, 21, 22]
# initializing all the lowercase alphabets
lowercase_alpha = "abcdefghijklmnopqrstuvwxyz"
# initializing all the uppercase alphabets
uppercase_alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
# converting input string into a list (list of chars)
inputString = list(inputString)
# traversing through each index of input indices list
for i in indexList:
# Converting index to upper case
inputString[i] = uppercase_alpha[lowercase_alpha.index(inputString[i])]
# Joining the list to convert it to a string
inputString = "".join(inputString)
# printing resultant string
print("Resultant string after converting chars to uppercase at the input indices:\n", inputString)
输出
Input String: hello tutorialspoint python
Resultant string after converting chars to uppercase at the input indices:
Hello TuToRialsPoint PYthon
结论
对于给定的选择性指标,我们在本文中研究了三种不同的方法来将字符串元素改为大写。此外,我们还学习了如何使用index()函数来找到可迭代对象(包括列表、元组、集合等)中任何元素或项的索引。