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() 函数查找可迭代对象(包括列表、元组、集合等)中任何元素或项目的索引。

更新于: 2023年1月27日

1K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告