字符串反转
给定一个仅包含字母和空格的字符串,翻转字符串里的每个单词。每个单词由空格隔开
- 案例1 输入:
I am handsome
输出:
I ma emosdnah - 案例2 输入
the sky is blue
输出
eht yks si eulb
sn = input().split(' ') # 把输入的一整个字符串,根据空格给分割成一个数组
rn = [] # 要输出的数组
for ones in sn:
rn.append(ones[::-1]) # 字符串逆序
print(" ".join(rn)) # 把数组变成字符串
字符统计
给定长度为n的只包含小写字母和数字的字符串,按照不同字符个数由多到少排序,个数相同的,根据ascii码由小到大排序
输入:
“aaddccdc”
输出:
“cda”
# 把字符串统计ascii根据个数,个数相同根据ascii码排序
ss = input()
dic = {} # 哈希结构,存储元素和个数
for x in ss:
dic[x] = dic.get(x,0) + 1 # get就是去健为x的值,如果没有就返回0,
list1 = [] # 中间数组
for key,value in dic.items():
list1.append([key,value]) # 把哈希表中数据存到数组里,方便排序
# print(list1)
list1.sort(key = lambda x:(-x[1],x[0])) # 先根据列表第二个元素降序排序,再根据第一个元素升序排序
rlist = "".join([i[0] for i in list1]) # 把列表第一项取出来合成新列表,再合成一个字符串输出
print(rlist)
提取不重复的整数
输入一个整数,从右往左阅读,去重输出
输入:
33456799
输出:
976543
# 输入整数,从右往左,返回不包含重复数字的整数
n = input() # n是字符串
chong = {} # 哈希存储,去重
rn = []
for x in n:
if x not in rn: # 如果没有重复,就加入到返回数组
rn.append(x)
print("".join(rn[::-1])) # ::-1就是逆向,“”。join()就是把数组合成字符串