📜  Python|字符串中的选择性大小写

📅  最后修改于: 2022-05-13 01:54:53.375000             🧑  作者: Mango

Python|字符串中的选择性大小写

有时,在使用Python时,我们可能会遇到需要对字符串中的某些字符进行大小写更改的问题。这种问题可能出现在许多类型的应用程序中。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用enumerate() + loop + upper()
可以使用上述功能集来解决此问题。这是执行此任务的蛮力方式,在此我们遍历字符串中的每个元素,如果它存在于大小写更改列表中,则将其更改为大写。

# Python3 code to demonstrate working of
# Selective casing in String
# using loop + upper() + enumerate()
  
# initialize string
test_str = 'gfg is best'
  
# printing original string 
print("The original string : " + str(test_str))
  
# initialize change case list 
chg_list = ['g', 'f', 's']
  
# Selective casing in String
# using loop + upper() + enumerate()
res = list(test_str)
for idx, char in enumerate(res):
    if char in chg_list:
        res[idx] = char.upper()
  
# printing result
print("String after Selective casing : " + str(''.join(res)))
输出 :
The original string : gfg is best
String after Selective casing : GFG iS beSt

&nsbp;

方法#2:使用列表推导 + upper() + join()
这是可以解决此问题的速记版本。在此,我们以与上述方法类似的方式执行类似的任务,但使用列表理解以单线方式执行。

# Python3 code to demonstrate working of
# Selective casing in String
# using list comprehension + upper() + join()
  
# initialize string
test_str = 'gfg is best'
  
# printing original string 
print("The original string : " + str(test_str))
  
# initialize change case list 
chg_list = ['g', 'f', 's']
  
# Selective casing in String
# using list comprehension + upper() + join()
res = ''.join([char.upper() if char in chg_list
                else char for char in test_str])
  
# printing result
print("String after Selective casing : " + str(''.join(res)))
输出 :
The original string : gfg is best
String after Selective casing : GFG iS beSt