设为首页 加入收藏

TOP

Python-Day3 Python基础进阶之集和/文件读写/函数(一)
2017-09-30 17:19:16 】 浏览:1608
Tags:Python-Day3 Python 基础 进阶 文件 读写 函数

一、集和

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

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

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
1 我越无所适从 2 越会事与愿违 3 在交错的时空 4 灵魂加速下坠 5 Here we are, here we are, here we are
默认操作文件

1.read()、readline()、readlines()的区别

f=open("haproxy.txt",encoding="utf-8")    #默认读取模式
print(f)    #不加参数,直接打印
''' <_io.TextIOWrapper name='haproxy.txt' mode='r' encoding='utf-8'> '''
print(f.read())    #read参数,读取文件所有内容
''' 我越无所适从 越会事与愿违 在交错的时空 灵魂加速下坠 Here we are, here we are, here we are '''
print(f.readline())    #readline,只读取文章中的一行内容
'''我越无所适从'''
 
print(f.readlines())    #readlines,把文章内容以换行符分割,并生成list格式,数据量大的话不建议使用 #['我越无所适从\n', '越会事与愿违\n', '在交错的时空\n', '灵魂加速下坠\n', 'Here we are, here we are, here we are\n']

f.close()  #关闭文件
 
f= open("har.txt",encoding="utf-8") for index,line in enumerate(f.readlines()):    #先把文件内容以行为分割生成列表,数据量大不能用
    if index == 3: print("-----我是分割线-------") continue
    print(line.strip()) count = 0 for line
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python3常用内置函数 下一篇Python 基础 字符串拼接 + if whi..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目