如何在Python中提取字符串字符与对应数字,重复字符并排序输出?
Python实现:字符重复并排序输出
需求说明
输入字符串为x3b4U5i2,需完成以下操作后输出结果bbbbiiUUUUUxxx:
- 提取字符串中每个字符及其后续对应的数字
- 将字符重复对应数字次数
- 对结果按指定规则排序后输出
代码实现
input_str = "x3b4U5i2" char_list = [] # 遍历字符串,按"字符+数字"的成对格式提取 for idx in range(0, len(input_str), 2): current_char = input_str[idx] repeat_count = int(input_str[idx + 1]) char_list += [current_char] * repeat_count # 按字符小写形式排序,保证顺序符合需求 sorted_chars = sorted(char_list, key=lambda c: c.lower()) final_result = ''.join(sorted_chars) print(final_result) # 输出:bbbbiiUUUUUxxx
代码解释
- 遍历提取:输入字符串是固定的"字符+数字"交替格式,用步长为2的循环逐个取出字符和对应的重复次数,将重复后的字符存入列表(列表操作比频繁字符串拼接更高效)。
- 排序规则:使用
key=lambda c: c.lower()作为排序依据,按照字符的小写形式比较排序,确保小写b、i排在大写U之前(因为小写b< 小写u、小写i< 小写u),最后是小写x,完全匹配目标输出的顺序。 - 结果拼接:用
join()方法将排序后的字符列表合并为最终字符串。
内容的提问来源于stack exchange,提问作者Abdul Wahid
相关产品推荐
相关产品推荐

