集合

# 集合天生就能去重,集合也是无序的  集合也是{ }  但是空集合定义特殊
s=set()  #空集合
s2 = set('1234445566778')
print(s2)

s3 = {'1','1','3','4','5','6','7','9'}

d = {'k':'v'}  #这个是字典

交集 并集 差集
就是两个集合相同的地方
print(s3 & s2)  #取交集
print(s3.intersection(s2))  #取交集
并集:就是把两个集合合并到一起,然后去重
print(s2 | s3)  #取并集
print(s2.union(s3))  #取并集
s4 = {1,2,3}
s5 = {1,4,6}
差集
   在一个集合里有,在另一个集合里面没有的
   S4里面有,s5里面没有的
  取一个集合存在,另一个不存在的元素
print( s4 - s5)  #取差集
print(s4.difference(s5)) #取差集
对称差集
   俩集合里面都没有
   去掉俩集合里面都有的
print(s4 ^ s5)
print(s4.symmetric_difference(s5))

集合的增删改查

s4.add('ss') #加元素
s4.pop()#随机删一个
s4.remove('ss')#指定删除哪个
s4.update({1,2,3}) #把另外一个集合加进去
s4.isdisjoint(s5)#如果没有交集的话返回true,如果有就返回false
print(s4.isdisjoint(s5))    false

打开文件

#open打开文件(python3   file()--python2里面的打开文件方法
f = open('D:/work/python/djl-20180310/lianxi/day4笔记/歌词',encoding='utf-8')  #打开文件,utf-8 中文
读文件
print(f.read())

print(f.readline())  #只读取一行内容
print(f.readlines())  #把文件里每一行放到一个list里面

f.write('adsfa')   #写入
读模式 r  读写 r+
    1、不能写
    2、文件不存在时会报错
写模式 w  写读模式 w+
    1、文件不存在的时候会帮你自动创建新文件
    2、打开一个已经存在的文件,他会覆盖以前文件的内容
    不能读
追加模式 a  追加读模式 a+
    1、文件不存在的话,会帮你新建文件
    2、打开一个已经存在的文件,不会情况,末尾增加
    3、不能读

c = open('duan','a+',encoding='utf-8')
print(c.read())
print(c.write('段佳林追加'))
print(c.read())

只要有r,文件不存在就报错
只要有w,都会清空原来的内容
有a 不存在可以添加,有的话直接追加到末尾,但是读不到内容

文件指针

f = open('歌词','a+',encoding='utf-8')
a模式默认文件指针在末尾
f.seek(0)   #移动文件指针到最前面
print('read读的内容',f.read())
f.write('这是我写的3')

文件指针:用来记录文件到底读到哪了
f= open('duan','a+',encoding='utf-8')
f.write('hahhah ')
f.seek(0)    #移动文件指针后只能读,写的时候还是在文件末尾写
print(f.read())

1、先随机产生一些手机号
2、写到文件里面
f = open('phonesno','w',encoding='utf-8')
num = input('请输入手机号个数:')
for i in range(int(num)):
    start = '1870042'
    n4_num= str(random.randint(1,9999)).zfill(4)
    phone_num = start + n4_num
    f.write(phone_num+'\n')
f.close()

自动关闭文件

with open('geci','a+') as f:
   for line in f:
      pass

python--集合和文件基本操作的更多相关文章

  1. python学习9—文件基本操作与高级操作

    python学习9—文件基本操作与高级操作 1. 文件基本操作 打开文件,获得文件句柄:f = open('filename',encoding='utf-8'),open会查询操作系统的编码方式,并 ...

  2. Python 目录和文件基本操作

    今天在写一个小工具的过程中发现对目录和文件的基本操作不是很熟,特此把遇到的常用操作总结汇总下. 获取当前路径:os.getcwd() 目录操作:1.创建目录:os.mkdir('目录名')2.创建多级 ...

  3. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  4. Python小白的发展之路之Python基础(二)【字符串、列表、集合、文件操作】

    列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表.元组操作 (1)列表 列表是可变的(mutable)——可以改变列表的内容,这不同于字符串和元组,字符串和元组都是不 ...

  5. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...

  6. Day2 - Python基础2 列表、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 数字操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 ...

  7. python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  8. Python【第二课】 字符串,列表,字典,集合,文件操作

    本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...

  9. (转)Python中集合(set)的基本操作以及一些常见的用法

    原文:http://blog.51cto.com/10616534/1944841 Python除了List.Tuple.Dict等常用数据类型外,还有一种数据类型叫做集合(set),集合的最大特点是 ...

  10. NO.3:自学python之路------集合、文件操作、函数

    引言 本来计划每周完成一篇Python的自学博客,由于上一篇到这一篇遇到了过年.开学等杂事,导致托更到现在.现在又是一个新的学期,春天也越来越近了(冷到感冒).好了,闲话就说这么多.开始本周的自学Py ...

随机推荐

  1. 关于赋值的Java面试题

    面试题:(1) short s = 1:s = s + 1;(2) short s = 1;s += 1;问:上面两个代码有没有问题,如果有,哪里有问题? 答:(1) 第一个是错的,会报错损失精度,因 ...

  2. 素数&欧拉函数

    素数表 const int maxN找[1,maxN)内的素数 int prime[int I]第I个素数 const int maxN=1e5+5; int prime[maxN]; bool ma ...

  3. 【深入AQS原理】我画了35张图就是为了让你深入 AQS

    申明 本文首发自公众号:程序员cxuan,此文章为本人投稿文章.已经和cxuan沟通,文章投递公众号,博客平台我自己发布可标记为原创. 此文章肝了很久,图片较多,希望大家喜欢. 另外,感兴趣的小伙伴可 ...

  4. 20060518: Alert!

    Alert Received, Shrink My Blog! 转载于:https://www.cnblogs.com/yidinghe/archive/2006/05/18/403089.html

  5. 基于LINUX 主机防火墙的端口转发

    由于centos7之后将默认防火墙从原来的iptables更改为firewall.本文主要记录基于firewall的端口转发部署. 1.检查防火墙状态     systemctl status fir ...

  6. 在okhttp的callback回调中加Toast出现Cant create handler inside hread that has not called Looper.prepare()...

    2019独角兽企业重金招聘Python工程师标准>>> 分析:callback中回调的response方法中还是在子线程中运行的,所以要调取Toast必须回到主线程中更新ui 解决方 ...

  7. Vs Code中炫酷写代码插件Power Mode的安装配置

    扩展栏搜索 Power Mode 安装 安装后重启vs code 文件->首选项->设置 搜索setting.json,点击在setting.json中编辑 打开之后在右侧用户设置里添加以 ...

  8. VMware虚拟机中centos6.5网络配置(桥接方式)与宿主机之间通信

    1.修改网络适配器 2.选择桥接所用的网卡 3.设置网络 3.1在系统终端中输入 setup ,进行图形网络配置(此命令只有redhat系列才有作用) 上下左右键选择,enter键确定 将光标移动到U ...

  9. Jenkins 构建 Jmeter 项目之源代码管理(SVN)

    1.查看项目创建中是否又 svn 插件,没有的话下载插件 subversion 2.配置 svn 源代码管理,如下图(testcases 目录下包含 build.xml 和脚本文件) 3.查看 Jen ...

  10. Redis 6.0 新特性-多线程连环13问!

    Redis 6.0 来了 在全国一片祥和IT民工欢度五一节假日的时候,Redis 6.0不声不响地于5 月 2 日正式发布了,吓得我赶紧从床上爬起来,学无止境!学无止境! 对于6.0版本,Redis之 ...