快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

python怎么解决有序字符数问题

这篇文章主要介绍“python怎么解决有序字符数问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么解决有序字符数问题”文章能帮助大家解决问题。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的湖北网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

有序字符数

1.1  菜鸡解法

from collections import OrderedDict

def ordered_count(input):   counts = OrderedDict()   for char in input:       counts[char] = counts.get(char, 0) + 1
  return list(counts.items())

1.2  高手解法1

from collections import OrderedDict, Counter
class OrderedCounter(Counter, OrderedDict):    pass    def ordered_count(seq):     m=OrderedCounter(seq)     return list(OrderedCounter(seq).items())

1.3 高手解法2

from collections import Counter
def ordered_count(input):    return list(Counter(input).items())

1.4 点评

这道题因为要考虑有序,就是按照字符串里面的字符顺序,同时要统计字符出现的次数。高手解法1非常巧妙,里面两个类的继承,同时继承了collection 模块里面的OrderedDict和Counter两个子类。很秒!

缩写双字名称答案

2.1 高手解法1

def abbrevName(name):    return '.'.join(w[0] for w in name.split()).upper()

2.2 高手解法2

abbrevName = lambda name: ".".join(e[0].upper() for e in name.split())

2.3 点评

几种高手的解法都是利用列表推导列表进行快速处理,然后用字符串自带upper()函数进行全大写。建议要熟悉常用的内置函数,比如:

''.lower()''.upper()''.count()''.startswith()''.capitalize()

关于“python怎么解决有序字符数问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


本文题目:python怎么解决有序字符数问题
标题URL:http://6mz.cn/article/jjpdhg.html

其他资讯