使用技巧:
•python实现数据交换的简洁方式:x,y = y,x 这样x和y的值就可以互换了。
•只打印3.1415926小数点后两位
In [17]: print "%f" %(3.1415926)
3.141593
In [18]: print "%.2f" %(3.1415926)
3.14
•以3位数打印出2
In [20]: print "%.3d" %(2)
002
•打印2的时候以1400开头
In [19]: print "%d" %(2)
2
In [23]: print "1400%d" %(2)
14002
•可变数据类型:list(列表)、dict(字典)、set(集和)
•不可变数据类型:数字、字符串、元组
•有序数据类型:字符串、列表、元组
•无序数据类型:数字、字典,集和
#无序的数据类型,增加一个数据,这个数据不一定会排在最后
#有序的数据类型,每增加一个数据,这个数据都会被排到最后
元组:带了紧箍咒的列表
元组和列表不同在于元组为不可变数据类型,他没有append等方法,存储数据更安全
一、创建:
tu = (1,2,3,4)
注意:单个元组定义必须在后面加逗号,如tu = (1,)
工厂方法:t= tuple([1,2,3])
二、元组的操作
1.元组也属于序列,支持索引、切片、拼接、重复、成员操作符
2.元组特性
• 对元组分别赋值,引申对多个变量也可通过元组方式分别赋值
3.删除元组
三、元组的方法
• t.count(value)-->int返回value在元组中出现的次数;
• t.index(value)返回value在元组中的偏移量(即索引值)
题目:
打印出t元组中索引2-7之间,打印出值为bool类型元素的索引值
解答:
#!/usr/bin/env python # coding:utf-8 t=(1,2,3,4,True,False,'hello',[1,2,3]) for i in t: if type(i) == bool: print t.index(i,2,7)
四、内置函数:cmp,len,max,min,enumerate,zip
集和:
集和是无序的,不重复的数据类型,因此可以去除列表或者元组中重复的元素
集和里面不能放可变数据类型
集和里面remove()和discard()都是删除,但是remove里面如果没有元素会报错,而discard没有元素不会报错
一、集合的关系测试操作
• 交集: list_1.intersection(list_2)
• 并集: list_1.union(list_2)
• 差集: list_1.difference(list_2)
list_2.difference(list_1)
• 对等差分 list_1.symmetric_difference(list_2)
• 子集 list_1.issubset(list_2)
• 父集 list_1.issuperset(list_2)
• 有无交集 list_1.isdisjoint(list_2)
• 交集: list_1 & list_2
• 并集: list_1 | list_2
• 差集: list_1 - list_2
list_2 - list_1
• 对等差分: list_1 ^ list_2
二、集合的添加
• s.add(1)
在集合中添加一项
• s.update([1,3,4])
在集合中添加多项,跟的参数应该是可迭代类型
三、集和的删除
• s.remove(1)
删除集合中指定的元素
• s.pop()
随机删除集合中的某个元素,并返回删除的元素
四、集和的其他操作
• len(s)
显示集合set的长度
• "1" in s
检测某元素是否为集合s的成员,返回布尔值
• s.copy()
集合的浅拷贝,此处不深入研究,后面会说
• s.clear()
清空集合的所有元素
字典:
一、字典的定义
字典不支持索引、切片
字典里面的key不能重复,但是value没有任何限制
• 简单字典创建
• 使用工厂函数创建:
• 内建方法:fromkeys
字典中的key有相同的value值,默认为None
题目:
生成100个学号,学号总共由7位数组成,前两位“14”开头,代表学校编号;
请生成学号1400001~1400100
解答:
#!/usr/bin/env python # coding:utf-8 stu_ids = [] for i in range(1,101): s_id = "1400%.3d" %(i) #将i以3位数打印出来,并且在i前面加上1400 stu_ids.append(s_id) print stu_ids
二、字典的访问
• 直接通过key访问
• 循环遍历访问
三、字典key-value的添加
• dic[key] = value
通过这个操作,我们会发现字典是无序的数据类型
四、字典的删除
• dic.pop(key)
根据key值删除字典的元素;
• dic.popitem()
随机删除字典元素,返回(key,value)
• dic.clear()
删除字典中的所有元素
• del dic
删除字典本身
五、字典的常用方法
• dict.get()
如果key存在于字典中,返回对应value值
• dic.keys()
返回字典的所有key值
• dict.has_keys()
字典中是否存在某个key值