9 列表
列表也可以用+来添加列表,用*来重复输出列表。列表也有函数和方法,如函数有cmp(list1,list2)比较两个列表的元素,还有len( )返回元素个数等等,方法有list.append(obj)在列表末添加新元素, list.count(obj)统计列表中该元素的出现次数等等。
列表的解析:生成并输出列表
squares = [x**2 for x in range(10)] 意思是 列表存放x的平方,range(10)是给x产生0~9十个数,然后向列表中存入x的平方。
输出结果为[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]。
10 元组
元组的元素不能修改,但是元组可以连接组合,元组也有与列表一样的内置函数。
11 字典
字典逗号前面是键后面的是值,健不能有重复。字典修改的方法可直接添加新的键值对,
p={'num1':1,'num2':2};
p['num2']=21;##修改
p['num3']=3##添加
同样,字典也有一些函数包的函数与内置函数可对其进行操作。
。。。。
Python集合
集合的基本用途有成员测试和消除重复的条目,花大括号或 set() 函数可以用于创建集合, 若要创建一个空集必须使用set(),而不能用 {}。set()不能有重复的。
frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。
*.issubset #判断是否是其子集
a.issubset(b) # 返回bool值
*.add #集合中增加元素
a=set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a.add(11)
print a
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11])
*.clear #删除集合中所有元素
*.copy #复制集合中的元素
*.difference #判断集合之间的差异返回新的集合
a=set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b=set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
b.difference(a) #判断b与a之间的差异
set([10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
*.remove #删除序列中指定的元素
*.isdisjoint #判断是否是相交集,返回bool值
*.issuperset #判断是否是超级,返回bool值
b.issuperset(a) #判断b是否是a的超集
超集定义:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集。 S1是S2的超集,则S2是S1的真子集,反之亦然
*.union #连接两个集合,形成新的集合
a.union(d)
*.update #更新集合
a.update(b) #将b集合更新到a集合中
*.pop #删除集合中的任意一个元素
a.pop()
*.discard #删除集合中存在的指定元素
a.discard(2) #元素2如果存在集合a中,则删除;
12 函数
12.1函数定义格式
def functionname( parameters ):
“函数_文档字符串”
function_suite
return [expression]
12.2 函数先定义再调用
12.3函数按引用传递参数,即对象名
12.4参数
定义有参数调用是必须传参;
命名参数,在调用时对参数赋值;
缺省函数,调用时不进行赋值的话就为默认值,前提是参数设置默认值;
不定长参数,加了*号的参数用于参访所有未命名参数,例如
#定义
def show(a,*b)
print a;
for var in b:
print var
return;
#调用
show(1);
show(1,2,3,4);
#输出
1
1
2
3
4
匿名参数:用lambda关键词
定义语法:lambda arg1,arg2…:expression
匿名函数自己有输出,不用写print;
学习参考了w2cschool和Python入门经典。