Python – 条件字符串追加
有时,在处理数据时,我们会遇到一个问题,即我们需要在特定条件下对字符串执行追加操作。这种问题在 Web 开发和日常编程中很常见。让我们讨论可以执行此任务的某些方式。
方法#1:使用循环
这是执行此任务的蛮力方式。在此,我们运行一个循环并检查条件,并根据该条件将字符串附加到原始字符串。
# Python3 code to demonstrate
# Conditional String Append
# using loop
def append_str(item, boy_str, girl_str):
if len(item) > 4 and item[-5] == ' ':
return item + girl_str
return item + boy_str
# initializing list
test_list = ['Manjeet Singh', 'Harsimran Kaur', 'Sarbjeet Kaur']
# initializing append string
boy_str = " Boy"
girl_str = " Girl"
# printing original list
print ("The original list is : " + str(test_list))
# Conditional String Append
# using loop
res = [append_str(item, boy_str, girl_str) for item in test_list]
# printing result
print ("The filtered strings are : " + str(res))
输出 :
The original list is : ['Manjeet Singh', 'Harsimran Kaur', 'Sarbjeet Kaur']
The filtered strings are : ['Manjeet Singh Boy', 'Harsimran Kaur Girl', 'Sarbjeet Kaur Girl']
方法#2:使用列表推导
列表理解是更长的循环方法的简写。这以类似的方式解决了问题,但结构更短。
# Python3 code to demonstrate
# Conditional String Append
# using list comprehension
# initializing list
test_list = ['Manjeet Singh', 'Harsimran Kaur', 'Sarbjeet Kaur']
# initializing append string
boy_str = " Boy"
girl_str = " Girl"
# printing original list
print ("The original list is : " + str(test_list))
# Conditional String Append
# using list comprehension
res = [ele + girl_str if ele[-5] == ' ' else ele + boy_str for ele in test_list]
# printing result
print ("The filtered strings are : " + str(res))
输出 :
The original list is : ['Manjeet Singh', 'Harsimran Kaur', 'Sarbjeet Kaur']
The filtered strings are : ['Manjeet Singh Boy', 'Harsimran Kaur Girl', 'Sarbjeet Kaur Girl']