python字符串排序(按输入顺序/按字符出现次数/按字符)
来源:互联网 发布:精美的php个人网站源码 编辑:程序博客网 时间:2024/06/05 20:00
'''
abcccab 控制台输入abcccab 第一版按照控制台输入进行排版,第二版按字符出现次数,第三版按字符顺序(a.b.c..的顺序)排版
a=2
b=2
c=3
c=3
b=2
a=2
c=3
a=2
b=2
def __init__(self,ch=None,count=None):
self.ch=ch
self.count=count
s=input("请输入一个字符串:")
l=[]
for c in s :
cc = [m for m in l if m.ch==c]
if len(cc)==0:
l.append(charAndCount(ch=c,count=1))
else:
for n in sorted(l,key=lambda x : -x.count):
for n in sorted(l,key=lambda x :(-x.count,x.ch)):
print(n.ch, "=", n.count)
'''
法二 利用字典进行排序操作
'''
zfc=input("请输入一个字符串:")
zd={i:zfc.count(i) for i in zfc}#zd字典存放,k=字符串中的每一个字符,v=每一个字符在该字符中出现的次数
print("按控制台输入的顺序进行排序:")
for x in zd:
print(x,"=",zd.get(x))
print("字符的顺序进行排序:")
for x in sorted(zd,key=lambda xx:xx):#此时的xx为zd字典的key、
print(x,"=",zd.get(x))
print("字符出现次数从大到小进行排序:")
for x in sorted(zd,key=lambda xx:(-zd.get(xx))):#此时的xx为zd字典的key、zd.get(xx)为value
print(x, "=", zd.get(x))
print("字符出现次数从大到小进行排序,如果相同,再按照字符的顺序进行排序")
for x in sorted(zd,key=lambda xx:(-zd.get(xx),xx)):
print(x,"=",zd.get(x))
abcccab 控制台输入abcccab 第一版按照控制台输入进行排版,第二版按字符出现次数,第三版按字符顺序(a.b.c..的顺序)排版
a=2
b=2
c=3
c=3
b=2
a=2
c=3
a=2
b=2
''
'''
法一利用类+列表 进行排序操作
'''
class charAndCount:def __init__(self,ch=None,count=None):
self.ch=ch
self.count=count
s=input("请输入一个字符串:")
l=[]
for c in s :
cc = [m for m in l if m.ch==c]
if len(cc)==0:
l.append(charAndCount(ch=c,count=1))
else:
cc.__getitem__(0).count +=1
print("按输入顺序")
for n in i:print(n.ch,"=",n.count)
for n in sorted(l,key=lambda x : -x.count):
print(n.ch, "=", n.count)
for n in sorted(l,key=lambda x :(-x.count,x.ch)):
print(n.ch, "=", n.count)
'''
法二 利用字典进行排序操作
'''
zfc=input("请输入一个字符串:")
zd={i:zfc.count(i) for i in zfc}#zd字典存放,k=字符串中的每一个字符,v=每一个字符在该字符中出现的次数
print("按控制台输入的顺序进行排序:")
for x in zd:
print(x,"=",zd.get(x))
print("字符的顺序进行排序:")
for x in sorted(zd,key=lambda xx:xx):#此时的xx为zd字典的key、
print(x,"=",zd.get(x))
print("字符出现次数从大到小进行排序:")
for x in sorted(zd,key=lambda xx:(-zd.get(xx))):#此时的xx为zd字典的key、zd.get(xx)为value
print(x, "=", zd.get(x))
print("字符出现次数从大到小进行排序,如果相同,再按照字符的顺序进行排序")
for x in sorted(zd,key=lambda xx:(-zd.get(xx),xx)):
print(x,"=",zd.get(x))
阅读全文
0 0
- python字符串排序(按输入顺序/按字符出现次数/按字符)
- 递归处理字符串中字符出现次数并按出现顺序返回
- 统计一个字符串中每个字符出现的次数,并按自然顺序输出
- 统计字符串”abadcdffbaeba”中每个字符出现了多少次,按次数排序并输出
- 统计字符串”abadcdffbaeba”中每个字符出现了多少次,按次数排序并输出
- 将数组中的字符按出现次数多少排序输出
- 将数组中的字符按出现次数多少排序输出
- java统计字符串中的字符重复的次数和和出现次数 实例(输入字符串)
- 输入字符串,显示字符串中各个字符出现的次数
- 输入一行字符串统计各字符出现的次数
- 输入一个字符串 打印出每个字符出现的次数
- 华为:输入一个字符串,删除重复前面的字符,其余字符按原样顺序输出
- 华为oj之字符统计(按出现次数由多到少的顺序进行输出)
- 对字符串中字符出现的次数进行排序
- 统计字符串中字符出现次数以及排序
- Python统计字符出现次数
- Python统计字符串里某个字符出现的次数
- Python统计字符串里某个字符出现的次数
- 比赛11 总结
- Noip2016 愤怒的小鸟 【状压DP】
- Qt 学习之路 2(3):Hello, world!
- python可迭代对象和迭代器对象
- ioc 与di的区别和联系
- python字符串排序(按输入顺序/按字符出现次数/按字符)
- select语句for update
- xjoi奋斗群群赛13
- Qpainter绘制文本
- javaweb框架之springmvc第二天
- javaweb框架之springmvc第三天
- jstree的基本应用----记录
- 009 极限的四则运算定理(加、减、乘、除)
- 作为软件连接件的区块链(上)【渡鸦论文系列】