字典是无序的,列表是有序的
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)