专栏首页pythonista的日常开工之前的热身小菜(一)答案

开工之前的热身小菜(一)答案

有序字符数答案

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()

有问题欢迎在留言区交流。

本文分享自微信公众号 - pythonista的日常(gh_fc70d5d98d3f),作者:pythonista daily

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Django model 自定义指定主键

    我最近在做一个新项目,数据工程师在数据库中已经新建了一些表,并且数据表中已经填充了数据,但是我用 django 写的项目中需要用到这些数据表,开发中我使用了 d...

    用户4945346
  • django2.2+Daphne+nginx+supervisor 生产环境部署

    之前项目中使用了 webscoket 进行实现消息实时通知,我们是另外单独运行了一个消息推送服务项目,使用了django-channels 实现websocke...

    用户4945346
  • 扫普通链接二维码打开微信小程序

    前段时间我们项目有个需求,用户通过扫描我们后台生成的一个二维码,就会跳转到我自己的微信小程序,我就参考了微信小程的文档中的【通过扫普通链接二维码打开微信小程序】...

    用户4945346
  • 你可曾见过如此简单粗暴的JavaScript解说 -- js脚本运行机制

    剽悍一小兔
  • 解决oracle服务占用内存过高的问题

    通常我们在自己电脑上搭建项目环境时,都免不了要安装Oracle。不管你硬件多强悍,都会发现,Oracle服务一旦启用,内存立马吃紧。笔者内存8G,启动一个VS,...

    浩Coding
  • 将移动硬盘上的archlinux复制到笔记本电脑硬盘并引导

    将移动硬盘上的archlinux复制到笔记本电脑硬盘并引导 每次安装archlinux我都非常痛苦,在同事的协助下才能完成。为了避免这个问题,我在我的移动硬盘上...

    FungLeo
  • 深度学习实战 numpy生成实数序列

    在利用python在进行数据分析的时候,经常需要按照某种规则快速生成实数序列,尤其是在学习matplotlib绘图的时候,需要模拟生成数据,然后开始绘制。

    算法与编程之美
  • Python基础 | 你想要的随机数生成都在这里

    在利用Python在进行数据分析的时候,经常需要按照某种规则快速生成实数序列,尤其是在学习matplotlib绘图的时候,需要模拟生成数据,然后开始绘制。

    算法与编程之美
  • GAN版马里奥创作家来了:一个样本即可训练,生成关卡要素丰富 | 开源

    现在,汉诺威大学的研究人员推出了一个新的GAN,能够生成船新、可玩的超级马里奥关卡。

    量子位
  • [TencentOS_tiny_EVB_MX]之程序跳转

    现针对TencentOS_tiny_EVB_MX这个,做一个简单的程序跳转demo分享出来。

    诸子东

扫码关注云+社区

领取腾讯云代金券