python下的目录操作:
import os
os.getcwd() #获取当前路劲
os.chdir(r’路径’) #进入某个目录下
f = open (‘test.txt’,’w’,encoding=’utf8’) #创建文件
os.makedirs(r’path\new_folder’) #创建文件夹
课程拾遗:
1.enumerate 枚举,即标注出当前的索引值
# author:sunyw
enumerate 枚举,即打印出当前索引值
a = range(10)
a = list(a)
print(a)
for i,v in enumerate(a):
print(i,v)
2.集合
'''
集合 set,是一个无序不重复元素,基本功能包括关系测试和消除重复元素。
集合对象还支持union(联合),intersection(交),difference(差)和sysmmetric differe(对称差集)等数学运算。
sets支持 x in set,len(set),和foe x in set 。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持indexing,slicing,或其它类序列(sequence-like)的操作。
'''
#例子:
x = set('spam')
y = set(['h','a','m'])
print(x,y)
print('交集: %s'%(x&y)) #交集
print('并集:%s'%(x|y)) #并集
print('差集:%s'%(x - y)) #差集
print('对称差集:%s'%(x^y))
#用set的并集+去重功能 将新的组合变成列表 或者 元素
a = set(x|y)
print(list(a)) #列表
print(tuple(a)) #元组
#j基本操作
x.add('0')
print(x) # 添加单项{'0', 's', 'p', 'm', 'a'}
y.update([1,2,3,4,'h','b'])
print(y) # 添加多项,只会更新不同的选项{1, 2, 3, 4, 'm', 'h', 'b', 'a'}
y.remove('h')
print(y) # 移除{1, 2, 'm', 3, 4, 'a', 'b'}
print('长度len(y):%s '%(len(y)))
print('x' in y) # 元素x是否 是 y的成员 :是输出:true ,不是输出:false
print('x' not in y) # 元素x是否 不是 y的成员 :是输出:true ,不是输出:false
# 集合 x 的每一个元素是否在集合 y 中,不在输出:false ,在输出:true
print(x.issubset(y))
print(x<=y)
#浅cpoy
print(x)
print('浅copy x.copy(y):%s'%(x.copy()))
#set不能返回hash值
3.zip 拉链
使用zip函数可以把两个列表合并起来,成为一个元组的列表。位置为一一对应
a = [1,3,5,7]
b = [2,4,6,8]
print(list(zip(a ,b)))
for i ,v in zip(a,b):
print(i,v)
特点:当长度不一致的时候,多余的会被忽略
c = [9,0]
print(list(zip(a,c)))
这里和map不一样,map缺一个需要用none补上
a = [0,1,2,3,4]
b = [5,6,7,8]
map(none,a,b)
使用zip来造出字典:
keys = ['name','age']
values = ['chen zhen','22']
print(dict(zip(keys,values)))
输出结果:{'name': 'chen zhen', 'age': '22'}
map的小技巧,将a里面的所有元素都乘以2
a
[0, 1, 2, 8, 3, 4, 5, 6, 7, 8, 9]
c = map(lambda x:x*2,a)
c
<map object at 0x000001f0864d0780>
list(c)
[0, 2, 4, 16, 6, 8, 10, 12, 14, 16, 18]
遗留:map的用法
4.迭代器:
iterator是迭代器的意思,它的作用是一次产生一个数据项,直到没有为止。
在python3中的用法
a = range(10)
a = iter(a)
a.__next__()
按顺序输出0到10 ,直到没有的时候会报错。