s1 = "aaac"
print(s1.index('a',1)) #从第一个位置开始找
#列表复制
a1 = [1,2,3,4]
a2 = a1 #引用
a2[0]=6
print(a1)
a2 = list(a1) #不会改变原来的
a3 = a1[:] #不会改变原来的
a4 = a5 = [] #这种会有连带关系 一个改变两个都变
a4.append(1) #a4[0]=a5[0]
def fun(a,b,*hub): #*hub代表可以传递任意多的值 但是会转化为元祖
print(a,b,hub)
fun(1,2,(3,4,5))
fun(1,2,3,4,5)
def fun1(**other_dir): #可以传递任意对的键值对
print(other_dir)
fun1(AA=11,BB=12)
def fun2():
a=1
b=2
c=3
return [a,b,c] #返回列表 不加【】默认返回元祖
a,b,c = fun2() #也可以这样单个分配 但数量一定要相同
#swap
a=3
b=4
print(a,b)
a,b = b,a #交换两个值
print(a,b)
hub = {1,1,1,1,2} #集合
print(hub)
hub = set() #空集
arry = [24,3,2,4,5,2,1,4]
print(sorted(arry))
hub.add(1) #集合的添加方法
hub.add("ad")
print(hub)
hub.discard("ad") #删除 remove()也可
print(hub)
hub1 = {1,2,3}
print(hub.issubset(hub)) #hub是hub1的子集 true
print(hub.union(hub1)) #返回并集
print(hub.intersection(hub1)) #返回交集
file = open("D:1.txt","r") #“w”写之前会清空
line = file.readline() #读一行包括换行符
line = line.rstrip() #删除换行符 并创建新的字符 lstrip()删除左侧 rstrip删除右侧
print(line)
line = file.readline()
print(line)
#for i in file: #也可以这样读取每行 包括了换行符
# print(i)
s1 = "aaaabbbbaaadcda,.,.cddddd"
s2 = s1.rstrip("abcdefg") #删除末尾特定子串
print(s1,s2)
file.close()
file2 = open("D:1.txt","r")
ch = file2.read(3)
print(ch)
ch = file2.read() #没有参数就读取全部
print(ch)
file2.close()
####
file3 = open("D:1.txt","r")
print(file3.tell())
file3.readline()
print(file3.tell()) #读取当前位置
file3.seek(1) #移动到哪个位置 移动到1这个位置
print(file3.tell())
#下面这种会制动关闭文件描述符 但file只能在with块里用
with open("D:1.txt","r") as file: #会自动关闭句柄 "a"是附加
line = file.readlines() #读取每一行
print(line)
#字典
d = {"a":1,"b":2,"c":3,"d":3}
b = d.pop("a") #一定要有key参数
#print(b) #b是键值对的值
for i in d:
print(i) #遍历键
dd = dict(d) #创建副本
dd.pop("b")
print(d)
print(d.values()) #返回所有值序列