同时迭代两个列表

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots

初始化列表的值

items = [0]*3
print items
>>> [0,0,0]

列表转换为字符串

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> 'Packers, 49ers, Ravens, Patriots'

从字典中获取元素

data = {'user': 1, 'name': 'Max', 'three': 4}
try:is_admin = data['admin']
except KeyError:is_admin = False

替换成这样

data = {'user': 1, 'name': 'Max', 'three': 4}
is_admin = data.get('admin', False)

计数时使用Counter计数对象
这听起来显而易见,但经常被人忘记。对于大多数程序员来说,数一个东西是一项很常见的任务,而且在大多数情况下并不是很有挑战性的事情——这里有几种方法能更简单的完成这种任务。

Python的collections类库里有个内置的dict类的子类,是专门来干这种事情的:

>>> from collections import Counter
>>> c = Counter('hello world')>>> c
Counter({'l': 3, 'o': 2, ' ': 1, 'e': 1, 'd': 1, 'h': 1, 'r': 1, 'w': 1})>>> c.most_common(2)
[('l', 3), ('o', 2)]

迭代工具

和collections库一样,还有一个库叫itertools,对某些问题真能高效地解决。其中一个用例是查找所有组合,他能告诉你在一个组中元素的所有不能的组合方式

from itertools import combinations
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for game in combinations(teams, 2):print game
>>> ('Packers', '49ers')
>>> ('Packers', 'Ravens')
>>> ('Packers', 'Patriots')
>>> ('49ers', 'Ravens')
>>> ('49ers', 'Patriots')
>>> ('Ravens', 'Patriots')

Python编程技巧合集相关推荐

  1. 英伟达小姐姐的Python隐藏技巧合集,推特2400赞,代码可以直接跑

    本文经AI新媒体量子位(ID:QbitAI)授权转载,转载请联系出处 常常发资源的英伟达工程师小姐姐Chip Huyen,又发射了一套Python隐藏功能合集. 里面都是她"从前没发现,或者 ...

  2. 华为手机音量键技巧合集,很少有人全部掌握的7个技巧,你会用吗

    华为手机音量键技巧合集,很少有人全部掌握的7个技巧,你会用吗 本文专门为花粉所写,或者说目前正在使用华为手机以及打算入手华为手机的用户们,所提供的华为音量键技巧合集.很少有人能够全部掌握这6个关于音量 ...

  3. 渗透测试 ( 5 ) --- 扫描之王 nmap、渗透测试工具实战技巧合集

    Nmap 官方文档 ( 中文文档是 Nmap 版本4.50,英文文档是最新的 ): 英文文档:https://nmap.org/book/man.html 中文文档:https://nmap.org/ ...

  4. Qt控件使用方法技巧合集

    Qt控件使用方法技巧合集 ~~~~~~~~        本篇博客代码示例包含C++版本和Python版本,不管是哪个版本,Qt的API都是一样的,使用方式大同小异. 文章目录 Qt控件使用方法技巧合 ...

  5. IntelliJ IDEA必装插件以及SpringBoot使用小技巧合集

    idea IntelliJ IDEA必装插件 有不知道怎么安装的吗?File-->settings打开设置面板,找到plugins,输入想要安装的插件回车即可 plugins面板 1.背景图片 ...

  6. java入门教学书,Java面试技巧合集

    一.内存与线程 1.内存结构 内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平.JVM的内存结构规定Java程序 ...

  7. 2020年深度学习调参技巧合集

    文 | 山竹小果 源 | NewBeeNLP 编 | 夕小瑶的卖萌屋 重点说明:本文主要为整理总结,大部分参考文末资料,感谢分享. 寻找合适的学习率 学习率是一个非常非常重要的超参数,这个参数呢,面对 ...

  8. Qt开发经验小技巧合集

    一.开发经验 当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了. 定时器是个好东西,学会好使用它,有时 ...

  9. 渗透测试工具实战技巧合集

    本文为作者总结自己在渗透测试中常用的一些小技巧.原文分为两部分,译者将其合二为一,方便大家查阅. 最好的 NMAP 扫描策略 # 适用所有大小网络最好的 nmap 扫描策略# 主机发现,生成存活主机列 ...

最新文章

  1. PaSS:用于 PacBio 测序的测序模拟器
  2. Gauss 消元法求解线性方程组
  3. Java黑皮书课后题第4章:*4.8(给出ASCII码对应的字符)编写程序,得到一个ASCII码的输入(0~27之间的一个整数),然后显示该字符
  4. 【STM32】ESP8266模块简介
  5. 收藏:视频网站(JavaEE+FFmpeg)/Nginx+ffmpeg实现流媒体直播点播系统
  6. Python 超简单一键美化你的文章
  7. python中自定义错误_Python中的自定义错误消息
  8. ZOJ-2008-Invitation Cards(dijkstra)
  9. 新萝卜家园GhostXp Sp3电脑城装机极致版2012.08
  10. Android手机简易计时器(Chronometer实现)
  11. 学习笔记—bootstrap(2)
  12. matlab中时域逐步积分方法,newmark积分法
  13. 解决Android studio 导入工程慢的方法
  14. 达梦数据库的表空间管理
  15. 思维改变生活:很多事情亲身经历之后才会明白
  16. 个人设计和公司设计,哪个更适合你?
  17. JAVA输出希腊union,希腊十大旅游胜地(上)
  18. 比乌镇人少!西塘安静!杭州这3个古镇 1h 直达!
  19. 科技论文英语翻译 英译汉
  20. 后台向前台传反斜杠、单引号等特殊字符问题

热门文章

  1. 用循环语句编程打印如下图案
  2. 思想篇(1)--企业需要什么样的人才?
  3. linux日志auditd,linux 审计工具auditd日志audit.log时间戳转换查看
  4. twig php代碼,有没有办法在wordpress的.twig文件中编写php代码?我试图使用.twig模板文件中的表单值发送邮件...
  5. python 学习DAY12
  6. javascript简单拖拽效果
  7. 【OpenStack】OpenStack系列5之Cinder详解
  8. MeteoInfoLab脚本示例:MODIS Sinusoidal投影HDF数据
  9. UIView的layoutSubviews和drawRect
  10. 《Algorithms》Comparable 实现选择排序