python开发安卓盒子_Python盒子:模块、包和程序
命令行参数:
import sys
print('Program arguments:',sys.argv)
关于choice:
from random import choice
possibilities = ['rain', 'snow', 'sleet', 'fog', 'sun', 'who knows']
return choice(possibilities)
使用 int 是一种定义计数器的方式:
from collections import defaultdict
>>> food_counter = defaultdict(int)
>>> for food in ['spam', 'spam', 'eggs', 'spam']:
... food_counter[food] += 1
...
>>> for food, count in food_counter.items():
... print(food, count)
...
eggs 1
spam 3
上面的例子中,如果 food_counter 已经是一个普通的字典而不是 defaultdict 默认字典,
那每次试图自增字典元素 food_counter[food] 值时, Python 会抛出一个异常,因为我们没
有对它进行初始化。在普通字典中,需要做额外的工作,如下所示:
dict_counter = {}
>>> for food in ['spam', 'spam', 'eggs', 'spam']:
... if not food in dict_counter:
... dict_counter[food] = 0
... dict_counter[food] += 1
...
>>> for food, count in dict_counter.items():
... print(food, count)
...
spam 3
eggs 1
使用Counter()计数:
from collections import Counter
>>> breakfast = ['spam', 'spam', 'eggs', 'spam']
>>> breakfast_counter = Counter(breakfast)
>>> breakfast_counter
Counter({'spam': 3, 'eggs': 1})
函数 most_common() 以降序返回所有元素,或者如果给定一个数字,会返回该数字前的的
元素:
breakfast_counter.most_common()
[('spam', 3), ('eggs', 1)]
>>> breakfast_counter.most_common(1)
[('spam', 3)]
使用有序字典OrderedDict()按键排序:
from collections import OrderedDict
>>> quotes = OrderedDict([
... ('Moe', 'A wise guy, huh?'),
... ('Larry', 'Ow!'),
... ('Curly', 'Nyuk nyuk!'),
... ])
>>>
>>> for stooge in quotes:
... print(stooge)
...
Moe
Larry
Curly
双端队列: 栈+队列:
deque 是一种双端队列,同时具有栈和队列的特征。它可以从序列的任何一端添加和删除
项。现在,我们从一个词的两端扫向中间,判断是否为回文。函数 popleft() 去掉最左边
的项并返回该项, pop() 去掉最右边的项并返回该项。从两边一直向中间扫描,只要两端
的字符匹配,一直弹出直到到达中间:
def palindrome(word):
... from collections import deque
... dq = deque(word)
... while len(dq) > 1:
... if dq.popleft() != dq.pop():
... return False
... return True
...
...
>>> palindrome('a')
True
>>> palindrome('racecar')
104 | 第 5 章
True
>>> palindrome('')
True
>>> palindrome('radar')
True
>>> palindrome('halibut')
False
这里把判断回文作为双端队列的一个简单说明。如果想要写一个快速的判断回文的程
序,只需要把字符串反转和原字符串进行比较。 Python 没有对字符串进行反转的函数
reverse(),但还是可以利用反向切片的方式进行反转,如下所示:
>>> def another_palindrome(word):
... return word == word[::-1]
...
>>> another_palindrome('radar')
True
>>> another_palindrome('halibut')
False
使用pprint()友好输出:
from pprint import pprint
>>> quotes = OrderedDict([
... ('Moe', 'A wise guy, huh?'),
... ('Larry', 'Ow!'),
... ('Curly', 'Nyuk nyuk!'),
... ])
>>>
普通的 print() 直接列出所有结果:
>>> print(quotes)
OrderedDict([('Moe', 'A wise guy, huh?'), ('Larry', 'Ow!'), ('Curly', 'Nyuk nyuk!')])
但是, pprint() 尽量排列输出元素从而增加可读性:
>>> pprint(quotes)
{'Moe': 'A wise guy, huh?',
'Larry': 'Ow!',
'Curly': 'Nyuk nyuk!'}
python开发安卓盒子_Python盒子:模块、包和程序相关推荐
- python写安卓游戏_python写lol游戏脚本(用python开发安卓脚本)
python写lol游戏脚本 俾格米人和搅拌机的引擎. python-ogre和panda3d是用c/c编写的,但只提供了一个python接口. 你好,蟒蛇可以在Android上工作. 因为你可以在A ...
- 如何下载python模块_python中模块包的离线下载教程
1.简介 当我们进行Python项目的迁移时(例如迁移到另外一台服务器上),如果该服务器要求离线安装, 往往需要我们将项目中的所需模块包进行离线操作. 2.教程 2.1 首先安装pip2pi模块,它可 ...
- python开发游戏流程_python开发游戏的前期准备
python开发游戏的前期准备 本文章面向有一定基础的python学习者,使用Pygame包开发一款简单的游戏 首先打开命令行,使用PyPI下载Pygame包(输入命令pip install pyga ...
- python主函数调用格式_Python的模块与函数
一.概述Python的程序由包.模块和函数组成. 函数是一段可重用的有名称的代码.通过输入的参数值,返回需要的结果,并可存储在文件中供以后使用.几乎任何Python代码都可放在函数中.Python为函 ...
- python开发桌面时钟_python基于Kivy写一个图形桌面时钟程序
Kivy 是一个开源的 Python 第三方库,可以用来快速开发应用程序. 它有如下三个特点: 跨平台 Kivy 编写的程序可在 Linux,Windows,OS X,Android,iOS 和 Ra ...
- python开发的前景_python开发前景怎么样
随着近几年Python的飞速发展,应用范围逐步趋于广泛,后端开发.前端开发.爬虫.金融量化分析.人工智能.自动化运维.自动化运维.大数据,Python都有涉及.Python相对其他编程语言来讲,语法较 ...
- python汇总json数据_python的json包位置及用法总结
JSON是一种独立于语言的文本格式,用于数据交换,可以在不同语言间交换数据. 在高级版本的Python里自带json模块包,使用import json直接导入模块. JSON文本以"键/值& ...
- python 开发视频播放网站_python开发微电影视频网站教程附源码
做为一个合格的Pythoner,只掌握一个框架是不够,如果你有过其它Python框架(例如django)的使用经验,对比不同框架的特性来学习,你将收获更多 当前信息若含有黄赌毒等违法违规不良内容,请点 ...
- python开发游戏教程_Python开发星际游戏实例教程
这篇文章主要为大家详细介绍了Python外星人入侵游戏编程完整的实现思路,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PYTHON游戏编程外星人入侵的完整实现思路,具体内容如下 准备工作:下载p ...
- python开发安卓程序-如何使用python开发android应用
Python是一种面向对象.解释型计算机程序设计语言,其源代码和解释器CPython遵循GPL(GNU General Public License)协议Python语法简洁清晰,特色之一是强制用空白 ...
最新文章
- 改进粒子群优化算法(IWAPSO)的MATLAB源程序
- 言论丨马库斯回应14大质疑,重申深度学习怀疑论
- 技术文:微信小程序和服务器通信-WebSocket
- 天翼云从业认证(2.2)云计算的模式、应用和行业生态
- android自定义控件实例
- 渲染上下文Rendering Context
- 成功案例_APP成功推广案例
- DotLucene源码浅读笔记(1) : Lucene.Net.Analysis 【转】
- intelx79服务器芯片组,Intel X79芯片组下月开始供货
- vue 按钮删除input内容_Vue表单和v-model
- hashset如何检查重复_如何使用 C# 中的 HashSet
- 平均增长率不用计算机,【程阳解答】如何用计算器或Excel计算年均增长率?
- “春节游”还准备去海外猎食新鲜?麻烦!家门口明明啥都有!
- 河工大邮箱申请,jetbrains学生邮箱申请,ideaIU版本下载、激活
- 相关系数-excel-CORREL()
- sja1000 c语言,调试好的can(汇编及C语言)程序,sja1000+tja1040
- EI期刊《系统工程与电子技术》投稿经历
- 手机中的那些人机交互都是怎么实现的
- linux 820m驱动下载,下载:NVIDIA显卡最新177.67版驱动For Linux
- 会计学原理知识点总结