python基础三(集合、文件)
1、集合定义
集合天生能去重,且与字典一样,无序。集合用大括号括起来,里面的元素之间用逗号分隔,要跟字典区分开。
集合定义方法:s=set() #定义一个空集合
s={'1','a','b','c','d','e','f'}#直接定义一个集合
s=set('123dfdreerewrewr')#将一个字符串转化为集合
s=set(['a','b','c','d'])#将一个list转化为集合
2、交集、并集、差集
取交集:& 或者intersection
print(s1 & s2) #取交集
print(s1.intersection(s2)) #取交集
取并集:| 或者union
print(s1|s2)
print(s1.union(s2))
取差集
print(s1-s2)#取差集,s1中去掉s2重复的部分
print(s1.difference(s2))#
对称差集
print(s1^s2)#去掉两个集合的交集,剩下的
print(a.symmetric_difference(b))
3、集合操作:增删改查
s.add('ss') #加元素
s.pop()#随机删一个
s.remove('ss')#指定删除哪个
s.update({1,2,3}) #把另外一个集合加进去
s.isdisjoint(s5)#如果没有交集的话返回true
4、文件操作
1、文件打开open
f=open(‘文件名’,''打开方式,'字符编码')
例:f = open('names','a+',encoding='utf-8'),python默认是gbk编码,open打开文件,如果不写打开方式,默认是r只读方式
文件打开有三种模式:读模式r,写模式w,追加模式a,另还有三种附加模式,加上"+" 表示可以同时读写某个文件
r,只读模式(默认)。
w,只写模式。不可读;不存在则创建;存在则删除内容;
#只要沾上了r,文件不存在的就会报错
#只要沾上了w,都会清空原来的内容
2、读取文件
f.read()#读文件,会将文件内容一次性全部读取出来
f.readline()#逐行读取,每次读一行,读取后文件句柄自动移到下一行,每次读取的内容都是一个字符串,如果有换行符,可以用字符串的strip方法;strip('\n')
f.readlines()#将文件所有内容按行放到list中,每个元素后都会自动加上\n.例:['1212sf\n', 'sdfdsffdfdfd\n', '33434312121212121223']
f.seek(0)#句柄移动到文件最开始0位置,括号里填几,句柄就移动到第几个字符
f.tell()#记录指针的位置,可以和seek联合使用
比如:操作一会文件后用point=f.tell 保存文件当前位置,然后下次再次才做,可以用f.seek(point)将指针定位到上一次的位置,接着上一次的位置继续
注意:seek()可以移动指针,但是只限于读管用,如果文件是以a+的模式打开的,即便seek(0)指针移动到最开始位置,在写文件内容时,还是会在最后面写
例子:
# 文件指针:
# 用来记录文件到底读到哪里了
f = open('name','a+',encoding='utf-8')# a模式的文件指针是在末尾的
f.write('呵呵呵')#如果写的内容要换行显示,可以加上'\n' :f.write('dfdf'+'\n'),读取文件时去掉\n可以用字符串的strip('\n')
f.seek(0) #移动文件指针到最前面
f.write('seek操作后,写的内容') #移动完文件指针之后,是只能读,写的时候还是在文件末尾写,此时也就是指针自动又到了末尾
print(f.read())#这时是读不出来内容的,因为指针在最后。如果没有上一行的f.write().则会读取文件的完整内容
循环读取文件,也可用for line in file,此时返回的是file的每一行,格式是字符串。可对line用字符串的相关函数继续操作。读完一行会释放一行的内存。
文件读写判断:
f.readable()#判断文件是否可读
3、关闭文件
f.close() 每次用open打开文件后,文件是不会自动关闭的,需要手动close下。这样有时候会忘记关闭,占内存。
with open('geci','a+') as f:#打开文件,文件不用时自动关闭
4、写文件
f.write();#往文件写内容
f.writelines(['111','222'])#往文件写多个内容,比如list,元祖,集合等
5、random模块
使用random模块必须先引入import random
print(random.randint(1,9999))#获取随机的1-9999之间的数字
random.shuffle(list)#打乱list的顺序,只能用于list
python基础三(集合、文件)的更多相关文章
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- 【笔记】Python基础三:文件
一,文件操作 (一),文件处理流程 1,打开文件,获得文件句柄(open函数提供)并赋值 2,通过句柄对文件进行操作 3,关闭句柄 f = open('陈粒',encoding='utf-8')#op ...
- python基础dict,集合,文件
字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的 天生去重增 ...
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- Python 基础 三 反射
Python 基础 三 反射 今天我们先介绍一下反射这个概念,啥是反射?反射就是自己检测自己.在我们Python的面向对象中的反射是啥意思呢?就是通过字符串的形式操作对象相关的属性.python中的一 ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Python 基础三 文件 函数
今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- python基础——元组、文件及其它
Python核心数据类型--元组 元组对象(tuple)是序列,它具有不可改变性,和字符串类似.从语法上讲,它们便在圆括号中,它们支持任意类型.任意嵌套及常见的序列操作. 任意对象的有序集合:与字符串 ...
随机推荐
- C#设计模式之22-模板方法模式
模板方法模式(Template Method Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/429 访 ...
- SourceTreet提交时显示remote: Incorrect username or password ( access token )(4种解决办法)
引言 我因为第一次安装Sources Tree的时候进行破解时(跳过安装时的登录),因为操作失误造成了好多bug,导致Sources Tree不论提交,拉取,获取,都会报remote: Incorre ...
- 装机备忘录:VS Code 常用插件
VS Code 常用插件推荐 1.基本的代码补全 2.git 扩展工具,可以看到代码的每一行 是谁修改?什么时候修改? 修改的版本号? 修改的注释? 非常好的一个工具 3.括号颜色改变工具,可以改变括 ...
- 如何校验内存数据的一致性,DynamicExpresso 算是帮上大忙了
一:背景 1. 讲故事 记的在上一家公司做全内存项目的时候,因为一些关键表会在程序 startup 的时候全量灌入到内存中,但随着时间的推移,内存和数据库的同步偶尔会出现数据差异的情况,伴随着就是运营 ...
- PAT 2-06. 数列求和(20)
题目意思:给定某数字A(1<=A<=9)以及非负整数N(0<=N<=100000),求数列之和S = A + AA + AAA + … + AA…A(N个A) 最开始一想还以为 ...
- 记录一次idae和maven设置的巨坑
这个忽略pom.xml文件千万别勾选,不然会导致项目的pom.xml怎么填写都无法导入新的依赖包!
- oracle 分页的两种方式
实例:查询5-8名学生的姓名与成绩 --oracle的分页1 between 方式(分三次查询,第一次只作排序,第二次给表加上rownum序列,第三次为查询结果) select s.scorenumb ...
- 全国大学生信息安全竞赛初赛writeup
本文首发于“合天智汇”公众号 作者:Fortheone WEB Babyunserialize 扫目录发现了 www.zip 下载下来发现似曾相识 之前wmctf2020的webweb出了f3的反序列 ...
- Windows servers 2008 环境下,CA证书服务器搭建。
CA证书这个东西好像是很久之前的东西了,现在已经不大用了,不过还是作为一种服务,搭建一下. 环境:Windows servers 2008 (虚拟机环境) 1.配置IP地址. 2.添加角色. 选择Ac ...
- springcloud高级
第一章 负载均衡 Ribbon (Spring Cloud 高级) 一. Ribbon 在微服务中的作用 1 什么是 Ribbon 1.Ribbon 是一个基于 Http 和 TCP ...