您的位置:首页 > 编程语言 > Python开发

Python-Day3 Python基础进阶之集和/文件读写/函数

2016-08-09 17:20 615 查看

一、集和

  集合是一个无序的,不重复的数据组合,它的主要作用如下:

去重,把一个列表变成集合,就自动去重了

关系测试,测试两组数据之前的交集、差集、并集等关系

1.创建集合

>>> s = set([3,5,9,10])     #创建一个数值集合
>>> t = set("Hello")    #创建一个唯一字符的集合
>>> s
{9, 10, 3, 5}
>>> t
{'e', 'H', 'l', 'o'}    #集和自动去重
>>> type(s),type(t)
(<class 'set'>, <class 'set'>)    #集和类型
>>> len(s)    #集和长度
4
>>> s==t
False
>>> s1=s
>>> s1
{9, 10, 3, 5}
>>> s1==s
True


2.访问集和

由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in、not in来访问或判断集合元素。

>>> t
{'e', 'H', 'l', 'o'}
>>> "e" in t
True
>>> "a" in t
False
>>> "a " not in t
True
>>> for i in t:

print(i)

e
H
l
o


3.更新集和

可使用以下内建方法来更新:

s.add()
s.update()
s.remove()

注意只有可变集合(set创建的集和,frozense创建的集和是不可变集和)才能更新:

>>> s
{9, 10, 3, 5}
>>> t
{'e', 'H', 'l', 'o'}
>>> s.add(1)    #添加一个元素
>>> s
{9, 10, 3, 5, 1}
>>> s.update([0,2,4])    #添加多个元素
>>> s
{0, 1, 2, 3, 4, 5, 9, 10}
>>> t.add('python')
>>> t
{'e', 'H', 'l', 'python', 'o'}
>>> t.update('python')    #添加一个字符会拆成多个
>>> t
{'e', 'y', 'n', 'h', 't', 'p', 'o', 'python', 'H', 'l'}
>>> t.remove('python')    #删除一个元素
>>> t
{'e', 'y', 'n', 'h', 't', 'p', 'o', 'H', 'l'}


4.集和关系操作

x in s
测试 x 是否是 s 的成员

x not in s
测试 x 是否不是 s 的成员

s.issubset(t)
s <= t
测试是否 s 中的每一个元素都在 t 中

s.issuperset(t)
s >= t
测试是否 t 中的每一个元素都在 s 中

s.union(t)
s | t  # t 和 s的并集
返回一个新的 set 包含 s 和 t 中的每一个元素

s.intersection(t)
s & t  # t 和 s的交集
返回一个新的 set 包含 s 和 t 中的公共元素

s.difference(t)
s - t  # 求差集(项在s中,但不在t中)
返回一个新的 set 包含 s 中有但是 t 中没有的元素

s.symmetric_difference(t)
s ^ t  # 对称差集(项在t或s中,但不会同时出现在二者中)
返回一个新的 set 包含 s 和 t 中不重复的元素

s.copy()
返回 set “s”的一个浅复制


del:删除集和本身,如“del t”

>>> s and t    #取t
{'e', 'y', 'n', 'h', 't', 'p', 'o', 'H', 'l'}
>>> s or t    #取s
{0, 1, 2, 3, 4, 5, 6, 9, 10}
>>> type(s)
<class 'set'>
>>> list(s)    #转化为列表模式
[0, 1, 2, 3, 4, 5, 6, 9, 10]
>>> str(s)    #转化为字符串模式
'{0, 1, 2, 3, 4, 5, 6, 9, 10}'
>>> type(str(s))
<class 'str'>
>>> tuple(s)    #转化为元组
(0, 1, 2, 3, 4, 5, 6, 9, 10)


二、文件操作

打开文件的模式:

r, 只读模式【默认】

w,只写模式【不可读;不存在则创建;存在则删除内容;】

a, 追加模式【不可读;不存在则创建;存在则只追加内容;】

"+" 同时读写某个文件:

r+,可读写文件。【可读;可追加】

w+,写读

a+,追加读

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

rU

r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb

wb

ab

矿泉水 10
可乐 20
咖啡 30
橙汁 40


程序需要文件,命名shoplist.txt



诸君共勉:

  那些没有消灭你的东西,会使你变得更强壮。——弗里德里希·威廉·尼采
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: