python字符串的一些操作实例

已知字符串 a = “aAsomr3idd4HGHbigs7Dlsf9YeAF”,要求如下
1. 请将a字符串的大写改为小写,小写改为大写。
2.将a字符串的数字取出,并输出成一个新的字符串。
3.将a字符串中的内容反向输出
4.打印a字符串中所有奇数位上的字符(下标是1,3,5,7…位上的字符)
5.将a字符串的所有偶数位上的字符取出,判断是否为回文字符串。
6.输出a字符串出现频率最高的字母
7.去除a字符串多次出现的字母,仅留最先出现的一个。
8.去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符串。
9.输出a字符串出现频率最低的字母

a = "aAsomr3idd4HGHbigs7Dlsf9YeAF"
print(a)
# 1.string.swapcase() 翻转 string 中的大小写
print(a.swapcase())
# 2.string.isdecimal() 如果 string 只包含数字则返回 True,全角数字   使用ord
for i in range(len(a)):
    if a[i].isdecimal():
        print(a[i], end="")
print()
# 3.x == x[::-1]  反向输出
b = a[::-1]
print(b)
# 4.打印a字符串中所有奇数位上的字符  循环 步长为2
for i in range(0,len(a),2):
    print(a[i],end="")
print()
# 5.将a字符串的所有偶数位上的字符取出,判断是否为回文字符串 同上
hui = ""
for i in range(1,len(a),2):
    print(a[i],end="")
    hui += a[i]
if hui == hui[::-1]:
    print("是回文字符串")
else:
    print("不是回文字符串")
# 6.输出a字符串出现频率最高的字母  先都转化为小写lower()   count()检查次数
xiao = a.lower()
max_count = 0
word = []
for i in xiao:
    count = xiao.count(i)
    if count > max_count:
        max_count = count
        word = [i]
    elif count == max_count:
        word.append(i)
print(f"出现次数最多的字母是{''.join(word)},出现次数是{max_count}")
# 7.去除a字符串多次出现的字母,仅留最先出现的一个。
seen_letters = set()
new_str = []
for i in xiao:
    if i not in seen_letters:
        seen_letters.add(i)
        new_str.append(i)
result = ''.join(new_str)
print(result)
# 8.去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符串。
chars = list(xiao)
not_num_str = [char for char in chars if not char.isdigit()]
new_str8 = ''.join(not_num_str)
abcstr = ''.join(sorted(new_str8))
print(abcstr)
# 9.输出a字符串出现频率最低的字母
xiao = a.lower()
min_count = 0
word = []
for i in xiao:
    count = xiao.count(i)
    if count < max_count:
        max_count = count
        word = [i]
    elif count == max_count:
        word.append(i)
print(f"出现次数最少的字母是{''.join(word)},出现次数是{max_count}")

输出的结果是

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值