一 set 集合 (无序且不重复的元素集合)
基本操作:
t.add(‘x‘) #添加一项
s.update([10,37,42]) #在s中添加多项
删除一项:
t.discard(‘H’)
t.remove(‘H‘)
区别:如果删除在集合中没有,discard 不会报错, remove 报错
t.pop() #不加参数
随机删除,并返回删除的值
len(s)
set 的长度
x ins
测试 x 是否是 s 的成员
x not ins
测试 x 是否不是 s 的成员
s.issubset(t)
s <=t
测试是否 s 中的每一个元素都在 t 中
s.issuperset(t)
s >=t
测试是否 t 中的每一个元素都在 s 中
s.union(t)
s |t
返回一个新的 set 包含 s 和 t 中的每一个元素
s.intersection(t)
s &t
返回一个新的 set 包含 s 和 t 中的公共元素
s.difference(t)
s -t
返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.symmetric_difference(t)
s ^t
返回一个新的 set 包含 s 和 t 中不重复的元素
s.copy()
返回 set “s”的一个浅复制
二 三元运算 (if else的简写)
1 result = 30 if a>10 else 50
2
3 #当a》10,result =30,否则 a =50
三 lambda表达式(可以接两个参数,只能用一行)
1 f1 = lambda a, b : a + b + 100
四 函数
I 返回值
如果return没有指定返回值,是none.
1 deff1():2 print(123)3 return ‘111‘
4 #在函数,一旦执行return,函数执行过程立即终止,下面的print不会再执行
5 print(456)
II 参数
1 普通参数(严格按照顺序,将实际参数赋值给形式参数)
2 默认参数(必须放置在参数列表的最后)
3 指定参数(将实际参数赋值给制定的形式参数)
4 动态参数:
(1)* 默认将传入的参数,全部放置在元祖中
1 def f1(*args):2 print(args)3
4 li = [11, ‘lala‘]5 f1(li)6 f1(*li)
第一个结果是([11, ‘lala‘]), 把列表当作一个元素
第二个结果是(11, ‘lala’), 把列表里的所有元素分别放入元祖里
(2)** 默认将传入的参数,全部放置在字典中
1 def f1(**kwargs):2 print(kwargs)3 f1(n1 = ‘nikita‘)
结果是{‘n1’:‘nikita‘}
5 万能参数
def f1(*args, **kwargs)
III 其他
1 局部变量和全局变量
只有在函数里面用的是局部变量,所有作用域都可用的是全局变量(注意用大写),在函数里面用global,可以将局部变全局变量。
NAME = ‘lulu‘
deff1():
age= 10
#把name的全局变量改成nikita,以下函数的name都为nikita
globalNAME
NAME= ‘nikita‘
print (age, NAME)
如果全局变量是列表,字典,只能修改,不能重新赋值。即是不能用global。
原文:http://www.cnblogs.com/nikitapp/p/5957323.html