Python程序将选择的索引大写
在本文中,我们将学习一个Python程序,将给定选择性索引的字符串元素转换为大写。
使用的方法
下列方法可实现此任务−
- 使用For循环和upper()函数
-
使用列表推导式
-
使用index() & join()函数
示例
假设我们有一个输入 字符串 和一个包含索引值的 列表 。我们将在那些给定索引处将输入字符串字符转换为 大写 ,并打印结果字符串。
输入
inputString = 'hello tutorialspoint python'
indexList = [0, 6, 8, 10, 15, 21, 22]
输出
Hello TuToRialsPoint PYthon
在此示例中,输入列表索引处的字符在输入字符串中被转换为大写。
方法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 tothe 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()函数将结果列表转换为字符串,通过传递分隔符作为空字符串。
示例
以下程序返回一个字符串,在给定的输入索引处使用列表推导式将输入字符串字符转换为大写字母-
# 输入字符串
inputString = 'hello tutorialspoint python'
# 打印输入字符串
print("输入字符串:", inputString)
# 输入索引列表
indexList = [0, 6, 8, 10, 15, 21, 22]
# 使用列表推导式在一行中实现相同的结果
resultantList = [inputString[i].upper() if i in indexList else inputString[i] for i in range(0, len(inputString))]
# 使用join()函数将结果列表转换为字符串。
resultantStr = ''.join(resultantList)
# 打印结果字符串
print("将输入索引处的字符转换为大写字母后的结果字符串:\n", resultantStr)
输出
输入字符串: hello tutorialspoint python
将输入索引处的字符转换为大写字母后的结果字符串:
Hello TuToRialsPoint PYthon
方法3:使用index()和join()函数
index()函数
index()函数返回所提供的值的第一个出现位置的位置。
语法
list.index(element)
算法(步骤)
以下是执行所需任务的算法/步骤-
- 创建一个变量以将所有小写字母存储为字符串。
-
创建一个变量以将所有大写字母存储为字符串。
-
使用list()函数将输入字符串转换为列表(字符列表)。
-
使用for循环遍历输入索引列表的每个索引。
-
使用index()函数获取小写字母字符串中当前字符的索引,并从大写字母字符串中获取相应的索引大写字符。
-
再次使用join()函数将上述结果列表转换为字符串。
示例
以下程序使用index()&join()函数在给定的输入索引处将输入字符串字符转换为大写字母并返回一个字符串-
# 输入字符串
inputString = 'hello tutorialspoint python'
# 打印输入字符串
print("输入字符串:", inputString)
# 输入索引列表
indexList = [0, 6, 8, 10, 15, 21, 22]
# 初始化所有小写字母
lowercase_alpha = "abcdefghijklmnopqrstuvwxyz"
# 初始化所有大写字母
uppercase_alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
# 将输入字符串转换为列表(包含每个字符)
inputString = list(inputString)
# 遍历输入索引列表中的每个索引
for i in indexList:
# 将索引转换为大写字母
inputString[i] = uppercase_alpha[lowercase_alpha.index(inputString[i])]
# 使用join函数将列表转换为字符串
inputString = "".join(inputString)
# 打印结果字符串
print("在输入索引处将字符转换为大写字母后的结果字符串:\n", inputString)
输出
输入字符串:hello tutorialspoint python
在输入索引处将字符转换为大写字母后的结果字符串:
Hello TuToRialsPoint PYthon
结论
在本文中,针对给定的选择性索引,我们介绍了三种不同的方法来将字符串元素转换为大写字母。此外,我们学习了如何使用index()函数在可迭代对象(包括列表、元组、集合等)中查找任何元素或项的索引。