写一个方法要求把字符串abcd+efghi输出为ihgf+edcba。字符倒序输出但是符号保持原位置
可以使用以下方法实现:
def reverse_string(string):
# 将字符串转化为列表
string_list = list(string)
# 获取字符串中的符号位置
symbol_indices = [i for i in range(len(string_list)) if not string_list[i].isalpha()]
# 将字符串中的字母部分进行倒序
string_list = [string_list[i] for i in range(len(string_list)) if string_list[i].isalpha()][::-1]
# 在字符串中的符号位置插入相应的符号
for index in symbol_indices:
string_list.insert(index, string[index])
# 将列表转化为字符串并返回
return ''.join(string_list)
# 测试方法
print(reverse_string("abcd+efghi")) # 输出: ihgf+edcba
这个方法首先将字符串转化为一个字符列表,然后找出字符串中的符号位置,接着将字符串中的字母部分进行倒序,最后根据符号位置将符号插入到相应的位置,最终将字符列表转化为字符串并返回。
原文地址: https://www.cveoy.top/t/topic/jdea 著作权归作者所有。请勿转载和采集!