字典是无序的,列表是有序的

a='zhangsan'
print (a[1])
a[2]=222 #字符串不能赋值

集合(set):把不同的元素组成一起形成集合

info=[1,2,34,5,6,7]
info=set(info)
print(info)

info=[1,2,34,5,6,7]
se=set(info)
print(se)

交集(&)

与集合AND等价,交集符号的等价方法是intersection

#交集intersection
info=[1,2,34,5,6,7]
info=set(info)
info1=set([2,4,5,66,77,88])
print(info1.intersection(info)) #取与info1的交集
print(info&info1) #取交集,等价方法是intersection
 
print(info1.union(info)) #并集union
print(info|info1)#等价并集union
print(info1.difference(info))#取info1的不同于info的值,查补(-)等价方法是difference()
print(info.difference(info1))#取info的不同于info1的值,查补(-)等价方法是difference()
print(info-info1) #等价方法是difference()
 
info3=set([2,5])
print(info3.issubset(info1)) #info3是info1的子集
print(info1.issuperset(info3))#info1是info3的父集
print(info)
print(info1)
#对称差集
print (info.symmetric_difference(info1))#交集去掉,互相都没有的留下
print(info^info1) #对称差集 等价方法是symmetric_difference
#简单的去重方式
list=[21,3,4,1,4,3,5]
data=set(list)
print (data)
 
文件的操作
# r只读,w可写,a追加
#我在E盘新建一个空白名为dang的文本文件,然后进行相关操作,
# 在程序的相对路径下找到了这个文件,打开该文件后,发现'nihao'已经写入进去了
f=open('../dang.txt','w')
f.write('nihao')
f.close()
#读文件里的内容
p=open('yesterdate.txt','r')
data=p.read()
print (data)
for i in p.readlines(5): #读前5行
   
print(i)
 
#读文件的前几个字符
p=open('yesterdate.txt','r')
data=p.read(5)#读取文件的前几个字符
print (data)
 
# tell 方法确认了已经移到当前文件位置
# 一个文件对象维护它所打开文件的状态。文件对象的 tell 方法告诉你在打开文件中的当前位置。
# 因为我们还没有对这个文件做任何事,当前位置为 0,它是文件的开始处。
p=open('../dang.txt','r')
print (p.readlines())
print (p.tell()) #计数器-计数
p.seek(10)  #光标移动,从第10个位置开始读取
print(p.readlines())
p.close()
#当with代码块执行完毕时,内部会自动关闭并释放文件资源,
#不用写关闭f.close()
with open('../dang.txt','r') as f:
    print (f.readlines())
    print (f.tell())
    print(f.seek(4))
    print (f.readlines())
 
with open('../dang.txt','r') as f:
    for line in f:
        print (line)
#seek():
#
文件对象的 seek 方法在打开文件中移动到另一个位置。第二个参数指出第一个参数是什么意思:
# 0 表示移动到一个绝对位置 (从文件开始算起),
# 1 表示移到一个相对位置 (从当前位置算起),
#  还有 2 表示文件末尾
 
#进度条
#sys.stdout.write也可以换成print ,sys.stdout.write是标准输入输出
#flush()方法刷新内部缓冲区,像标准输入输出的fflush。这类似文件的对象,无操作。
import sys ,time
for i in range(20):
  sys.stdout.write('#') # sys.stdout 指向控制台,有缓存
 
sys.stdout.flush()
  time.sleep(0.1)
#局部变量
name='alex'
def change_name(name):
     print ('before_name:',name)
     name='zhangsan'
    
print('change_name:',name)
change_name(name)
print ('before name:', name)

day3 python 集合 文件的更多相关文章

  1. day3学python 字典+列表集合+文件读取

    字典+列表集合+文件读取 字典示例 ************************ 各地食品的三级菜单************************* 1.使用字典嵌套字典 2.采用死循环思路 3 ...

  2. Python基础--文件操作和集合

    这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...

  3. 从用python自动生成.h的头文件集合和类声明集合到用python读写文件

    最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...

  4. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  5. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  6. Python工程文件中的名词解释---Module与Package的区别

    当我们在已有的Python工程文件中创建新的内容是,通常会有两种类型文件供你选择---Module和Package,对于初学者来说会搞不清楚这两种文件直接的关系.这里就来解释一下这两者之间的关系. M ...

  7. Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  8. 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)

    [转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...

  9. Python之文件与目录操作(os、zipfile、tarfile、shutil)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

随机推荐

  1. cocoapods遇到error: RPC failed; curl 56 SSLRead() return error -36问题

    在安装cocoapods遇到的问题 [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master Cloning into ...

  2. linux: centos设置ip以及连接外网

    注明:我使用的的使centos 7,所有文件名是ifcfg-enp0s3, 一. 设置虚拟机中linux的ip,使本地能连通虚拟机的linux系统 1>.进入本地windows的cmd,输入ip ...

  3. mysql 执行状态分析 show processlist

    SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到所有线程.否则,您只能看到您自己的线程( ...

  4. C++字符串(String)

    字符串的声明: string s; string str="abcdefg"; char ch[]="abcdefg"; //使用string类型初始化另一个s ...

  5. 算法训练 区间k大数查询

    http://lx.lanqiao.org/problem.page?gpid=T11 算法训练 区间k大数查询   时间限制:1.0s   内存限制:256.0MB        问题描述 给定一个 ...

  6. Spring的2个思想

    IOC:控制反转 反转:获取依赖对象的方式被反转了 控制反转是关于一个对象如何获取他所依赖的对象的引用,反转是指责任的反转. (1)对象实例化问题(Spring完成) 传统的依赖方式:程序员实例化 ( ...

  7. Android -- 自定义View小Demo,关于Rect绘制Android机器人(一)

    1,关于Rect和RectF类的区别以前一直没有去关注它,刚刚了解了一下才知道都是用来确定矩形的区域,不过Rect是int类型的坐标而RectF是float类型的坐标,所以说RectF要更加精确.现在 ...

  8. zw版【转发·台湾nvp系列Delphi例程】HALCON RegionToBin1

    zw版[转发·台湾nvp系列Delphi例程]HALCON RegionToBin1 unit Unit1;interfaceuses Windows, Messages, SysUtils, Var ...

  9. some software that is used to speed up your system

    1.RAMDISK take some space in ram and use them as the disk. Primo Ramdisk Server Edition 5.6.0 regist ...

  10. DELPHI出现无法加载dclite50.bpl的解决办法(转)

    现象: Borland Integrated Translation Environment 加载出错 解决办法: 我的电脑--->(鼠标右键)属性--->高级--->(性能)设置- ...