python 2.7 中文教程及自动化测试介绍(3) -- 待整理

数据结构

本章详细讨论一些已学知识,并引入了一些新知识。
列表的详细介绍

列表的所有方法如下:

list.append(x):附加元素到列表末端,相当于a[len(a):] = [x]。
    list.extend(L):附加列表L的内容到当前列表后面,相当于 a[len(a):] = L 。
    list.insert(i, x):在指定位置i插入x。i表示插入位置,原来的i位置如果有元素则往后移动一个位置,例如 a.insert(0, x)会插入到列表首部,而a.insert(len(a), x)相当于a.append(x)。
    list.remove(x):删除列表中第一个值为x的元素。如果没有就报错。
    list.pop([i]):产出列表指定位置的元素,并将其返回该元素。如果没有指定索引针对最后一个元素。方括号表示i是可选的。
    list.index(x):返回第一个值为x的元素的索引。如果没有则报错。
    list.count(x):返回x在列表中出现的次数。
    list.sort(cmp=None, key=None, reverse=False):就地对链表中的元素进行排序。
    list.reverse():就地反转元素。

实例:

>>> a = [66.25, 333, 333, 1, 1234.5]
>>> print a.count(333), a.count(66.25), a.count(‘x‘)
2 1 0
>>> a.insert(2, -1)
>>> a.append(333)
>>> a
[66.25, 333, -1, 333, 1, 1234.5, 333]
>>> a.index(333)
1
>>> a.remove(333)
>>> a
[66.25, -1, 333, 1, 1234.5, 333]
>>> a.reverse()
>>> a
[333, 1234.5, 1, 333, -1, 66.25]
>>> a.sort()
>>> a
[-1, 1, 66.25, 333, 333, 1234.5]
>>> a.pop()
1234.5
>>> a
[-1, 1, 66.25, 333, 333]

把链表当作堆栈使用

堆栈后进先出。进使用append(),出使用pop()。例如:

>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]

把列表当作队列使用

列表先进先出。列表头部插入或者删除元素的效率并不高,因为其他相关元素需要移动,建议使用collections.deque。

>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry")           # Terry arrives
>>> queue.append("Graham")          # Graham arrives
>>> queue.popleft()                 # The first to arrive now leaves
‘Eric‘
>>> queue.popleft()                 # The second to arrive now leaves
‘John‘
>>> queue                           # Remaining queue in order of arrival
deque([‘Michael‘, ‘Terry‘, ‘Graham‘])

函数式编程工具

对于列表来讲,有三个内置函数非常有用: filter(), map(), 以及reduce()。

filter(function, sequence)返回function(item)为true的子序列。会尽量返回和sequence相同的类型)。sequence是string或者tuple时返回相同类型,其他情况返回list 。实例:返回不能被2和3整除的整数:

>>> def f(x): return x % 2 != 0 and x % 3 != 0
...
>>> filter(f, range(2, 25))
[5, 7, 11, 13, 17, 19, 23]

map(function, sequence) 为每个元素调用 function(item),并将返回值组成一个列表返回。例如计算立方:

>>> def cube(x): return x*x*x
...
>>> map(cube, range(1, 11))
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

PyAutoGUI

参考资料

时间: 2024-10-10 14:01:08

python 2.7 中文教程及自动化测试介绍(3) -- 待整理的相关文章

python 2.7 中文教程及自动化测试介绍(2)

流程控制 除了前面介绍的 while 语句,Python还更多的流程控制工具. if语句 >>> x = int(raw_input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: ...     x = 0 ...     print 'Negative changed to zero' ... elif x == 0: ...     print

python 2.7 中文教程及自动化测试介绍(1)

简介 Python是一门简单易学,功能强大的编程语言.它具有高效的高层次数据结构,简单但有效的方式支持面向对象编程,语法优雅,动态类型,解释执行.使之成为多数平台上很多领域的脚本和快速应用开发的理想语言. Python解释器及其丰富的标准库的源码或者二进制版本可以从http://www.python.org/免费获取和转发.该还包含很多免费的第三方Python模块.程序.工具的发布链接及附加文档. Python的解释器很容易用C或C++(或其他c可以调用的语言)扩展新功能和数据类型. Pytho

python 2.7 中文教程及自动化测试介绍(4)

模块 退出Python解释器再重新进入,函数和变量等的定义都会丢失. 较大的程序使用文本编辑器编辑的文件作为执行输入更好,即创建脚本. 程序变很长时可将它分割成几个更易于维护的文件.你也可能想在几个程序中使用相同的函数,而不是拷贝代码. Python可在文件中定义,在脚本或者解释器中使用.这样的文件即模块.模块中的定义可导入到其他模块或主模块中(即脚本顶层或命令行可以访问的变量集). 模块是包含Python定义和语句的文件.文件名就是模块名加上.py 缀.模块名可以由全局变量name 获取.实例

python 2.7 中文教程 - 解释器

调用python解释器 Python的解释器在linux上通常安装在/usr/bin/python,/usr/local/bin/python,/usr/local/bin/python等地方.Windows一般位于C:\Python27,且一般需要设置PATH环境变量. # [email protected]:[/root]#python Python 2.7.5 (default, Jun 17 2014, 18:11:42)  [GCC 4.8.2 20140120 (Red Hat 4.

unity3d插件Daikon Forge GUI 中文教程-1-Daikon Forge介绍

DF-GUI特点: ·        深编辑器集成:DF-GUI提供广泛的整合与Unity3D编辑环境,包括自定义检查人员对每个组件向导来简化复杂的多步任务,提高生产力的上下文菜单,编辑控件在一个所见即所得的方式创建复杂的布局,并几个精心设计的工作流程增强功能.这种无缝集成可让您更专注于您的UI本身,而不必担心如何使用DF-GUI. ·        全所见即所得的体验:DF-GUI控件都是在Unity编辑器“活” -对控件的属性所做的任何更改都将反映在即时编辑; 没必要打的播放按钮. ·   

Python Kivy 中文教程:安装(Windows)

Kivy 是一套用于跨平台快速应用开发的开源框架,只需编写一套代码,便可运行于各大桌面及移动平台上(包括 Linux, Windows, OS X, Android, iOS, 以及 Raspberry Pi) Kivy 采用 Python 和 Cython  编写,在国外已经十分火爆,受关注程度甚至一度超越了老牌的 Python GUI 工具 PyQt.可惜 Kivy 在国内还鲜为人知,咪博士将会陆续推出一系列 Kivy 中文教程.这一篇先教大家,在 Windows 上 安装 Kivy. 零.

Sublime Text最好的中文教程

原文链接:http://lucida.me/blog/sublime-text-complete-guide/ 摘要(Abstract) 本文系统全面的介绍了Sublime Text,旨在成为最优秀的Sublime Text中文教程. 更新记录 2014/09/27:完成初稿 2014/09/28: 更正打开控制台的快捷键为Ctrl + ` 更正全局替换的快捷键为Ctrl + Alt + Enter 前言(Prologue) Sublime Text是一款跨平台代码编辑器(Code Editor

Android自动化测试介绍

1.随机事件测试.通过adb命令执行测试Monkey 就是SDK中附带的一个工具, 用来做压力测试.应用程序crash 和 ANR时会产生日志. 然后根据关键字分析,就可以把应用出现的问题抓出来. 2.Instrumentation提供对Apk的监控. 3.主应用场景测试,模拟用户点击行为测试.是对Instrumentation的再封装 利用国外的测试工具robotium 参考: ?Monkey工具介绍 ?Monkey命令详解 ?robotium应用举例 ?robotium中文教程 ?Instr

iOS App上架发布到app store市场最新中文教程

iOS -App发布Appstore最新中文教程 这个教程教你怎么把开发好的ios应用上架到appstore市场,一步一步带截图,包括最新的appstore后台系统itunesconnect使用,证书创建和管理,应用id创建和管理,上传ipa等都将一步一步详细介绍. 下面从七个步骤进行详细介绍! 1.创建唯一标示符App IDs 2.申请发布证书 3.申请发布描述文件 4.到iTunes Connect创建App并填写信息 5.Windows下选择证书编译打包 6.Windows下上传IPA到A