-
100∑(n²+1)n=1
还原成加法运算就变成了:
(1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + ... + (100 x 100 + 1)
查看全部 -
计算数列的和,比如:1 + 2 + 3 + ... + 100,写起来十分不方便,于是数学家发明了求和符号∑,可以把1 + 2 + 3 + ... + 100记作:
100∑nn=1
查看全部 -
判断元素是否在set中,使用in操作符。
参考代码:
s = set(['Adam', 'Lisa', 'Paul']) L = ['Adam', 'Lisa', 'Bart', 'Paul'] for name in L: if name in s: s.remove(name) else: s.add(name) print s
set(['Bart'])
查看全部 -
两字符串合并(衔接)用+
查看全部 -
字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
>>> 'ABCDEFG'[:3] 'ABC'
查看全部 -
对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,
>>> L[-2:]
>>> L[:-2]>>> L[-4:-1:2]
记住倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。
查看全部 -
range()函数可以创建一个数列:
>>> range(1, 101) [1, 2, 3, ..., 100]
查看全部 -
注意到set的元素是tuple,因此 for 循环的变量被依次赋值为tuple。
参考代码:
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)]) for x in s: print x[0] + ':', x[1]
查看全部 -
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。
查看全部 -
取一个list的部分元素:
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
如果第一个索引是0,还可以省略:
>>> L[:3]
只用一个 : ,表示从头到尾,即复制:
>>> L[:]
切片操作还可以指定第三个参数:
>>> L[1:7:2]
第三个参数表示每N个取一个
把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。
查看全部 -
如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数
def fn(*args):
可变参数的名字前面有个 * 号Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。
查看全部 -
定义函数的时候,还可以有默认参数
def power(x, n=2):
则
power(5)
power(5,2)
由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面
查看全部 -
pop()方法总是删掉list的最后一个元素,并且它还返回这个元素.
若想要删除的元素不是最后一个元素,可以先定位要删除元素(索引号)
查看全部 -
append()总是把新的元素添加到 list 的尾部。
L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的同学,以及后面的所有同学,都自动向后移动一位。
查看全部 -
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
def fact(n):
if n==1:
return 1
return n * fact(n - 1)使用递归函数需要注意防止栈溢出.在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000)。
查看全部
举报