-
迭代操作就是对于一个集合(有序/无序),用 for 循环依次取出集合的每一个元素 【迭代是一个动词,它指的是一种操作,在Python中,就是 for 循环】 迭代与按下标访问数组最大的不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的。 Python的for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上 Python的for循环抽象程度要高于Java的for循环 注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括: 1. 有序集合:list,tuple,str和unicode; 2. 无序集合:set 3. 无序集合并且具有 key-value 对:dict查看全部
-
字符串也可以用切片操作,只是操作结果仍是字符串 字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符 Python没有针对字符串的截取函数,只需要切片一个操作就可以完成,非常简单。查看全部
-
正序、倒序切片 --- 包含起始索引,不包含结束索引。 倒数第一个元素的索引是-1查看全部
-
对list/tuple用【下标】进行切片 L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3 如果第一个索引是0,还可以省略 L[:3] 从索引1开始,取出2个元素出来 L[1:3] 只用一个 : ,表示从头到尾: L[:] L[:]实际上复制出了一个新list 切片操作还可以指定第三个参数表示每N个取一个 L[::2] 把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple range()函数可以创建一个数列: >>> range(1, 101) [1, 2, 3, ..., 100]查看全部
-
def fn(*args): print args 可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数 可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。 定义可变参数的目的也是为了【简化调用】 计算任意个数的平均值,就可以定义一个可变参数查看全部
-
int() 函数,其实就有两个参数,的第二个参数是转换进制,默认是十进制 >>> int('123', 8) 83 函数的默认参数的作用是简化调用 由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面查看全部
-
如果a只有一个圆盘,可以直接移动到c; 如果a有N个圆盘,可以看成a有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 b,然后,将 a的最后一个圆盘移动到c,再将b的(N-1)个圆盘移动到c。查看全部
-
计算阶乘 n! = 1 * 2 * 3 * ... * n def fact(n): if n==1: return 1 return n * fact(n - 1) 使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000) 汉诺塔 (http://baike.baidu.com/view/191666.htm) 的移动也可以看做是递归函数。 函数 move(n, a, b, c) 的定义是将 n 个圆盘从 a 借助 b 移动到 c。查看全部
-
# math包提供了sin()和 cos()函数,用import引用它 import math def move(x, y, step, angle): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny 用print打印返回结果,原来返回值是一个tuple! 但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。查看全部
-
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑. return None可以简写为return。查看全部
-
1.Python的官方网站查看文档:http://docs.python.org/2/library/functions.html 2.help(abs) 查看abs函数帮助信息 cmp(x, y) 就需要两个参数,如果 x<y,返回 -1,如果 x==y,返回 0,如果 x>y,返回 1 int()函数可以把其他数据类型转换为整数 str()函数把其他类型转换成 str查看全部
-
更新set add()和remove()方法 用add()可以直接添加,而remove()前需要判断。否则不存在时会报错 如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了查看全部
-
由于 set 也是一个集合,所以,遍历 set 和遍历 list 类似,都可以通过 for 循环实现。 注意: 观察 for 循环在遍历set时,元素的顺序和list的顺序很可能是不同的,而且不同的机器上运行的结果也可能不同。 >>> s = set(['Adam', 'Lisa', 'Bart']) >>> for name in s: ... print name ... Lisa Adam Bart查看全部
-
set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快 set存储的元素和dict的key类似,必须是不变的对象,因此,任何可变对象是不能放入set中 set存储的元素也是没有顺序的查看全部
-
set的元素没有重复,而且是无序的 创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素: 传入包含重复元素的 list 会自动去掉重复的元素 >>> s = set(['A', 'B', 'C', 'C']) >>> print s set(['A', 'C', 'B']) >>> len(s) 3查看全部
举报
0/150
提交
取消