python-day4

'''
s=input("Please input number")
while True:
try:
s=int(s)

except ValueError:
print("Error")
s=input("Please input number")

try:可能会发生异常的代码,先执行以下试试看 except <异常类型>:
如果 try 中代码抛出异常并被 except 捕获,执行此处代码

s=input("Please input number")
while True:
try:
s=int(s)

except ValueError:
print("Error")
s=input("Please input number")
else:
print(s)
break


try:可能会发生异常的代码 except <异常类型>: 如果 try 中代码抛出异常并被 except 捕获,
执行此处代码 else:try 代码正常执行,则执行此处代码

try:可能会发生异常的代码 except <异常类型>: 处理异常代码


finally:总是执行

def calc(a,b): # 自定义函数
try:
print(a/b)
except ZeroDivisionError:
print("第二个参数不能为 0!")
finally:
print("函数执行完成")
z=eval(input("请输入一个数"))
calc(5,z)
try:可能会发生异常的代码 except <异常类型 1>: 处理异常类型 1 的代码
except <异常类型 2>: 处理异常类型 2 的代码

def calc(a,b):
try:
print(a/b)
except ZeroDivisionError:
print("ZeroDivisionError!,第二个数不能为0!")
except TypeError:
print("TypeError!请输入数字")
finally:
print("OK!")
calc(5,2)
calc('c',2)
calc(5,0)

有序序列:列表、元组、字符串
无序序列:字典、集合
可变序列:列表、字典、集合
不可变序列:元组、字符串
列表的特征:①所有元素放在【】里面,相邻元素之间用逗号隔开②无长度限制,元素类型可以不同,不需要预定义长度
③列表元素有顺序,可以使用索引④线性的数据结构⑤列表是可变的
列表的创建:①直接用方括号创建②list()函数把可迭代对象转换为列表类型③列表不可以预定义大小

 

ls=["python",1,"a"]
print(ls)

ls=("python",1,"a")
myls=list(ls)
print(myls)

列表的访问和字符串的访问一致,正向(0-n-1)反向(-1--n)
ls=['book',23,[2010,'stud1'],20]
print(ls[2][1][-1])
结果为1,列表的索引为2的元素的索引为1的元素的也就是字符串‘stud1'的索引为-1的值
列表的操作方法:

count(x):返回列表中x的个数
index(x):输出首次出现x的索引
x=[1,2,1,3,4,1,5,1,5,1,4,2,1,3]
a=x.count(1)
print(a)
b=x.index(1)
print(b)

append(x):在列表尾部增加x
insert(d,x):在列表的第d位增加x
extend([,,]):在列表尾部增加多个元素
x=[11,22,33]
a=id(x)
print(a)
x.append(44)
print(x)
b=id(x)
print(b)
x.insert(2,55)
print(x)
c=id(x)
print(c)
x.extend([1,2,3])
print(x)
d=id(x)
print(d)

remove(x):从左往右找到第一个x值删除
pop(d):找到列表中的第d位的元素删除,默认位为-1位
del x[d]:移除列表的第d位的元素
clear():清空所有元素,剩下一个空列表

x=[1,2,3,4,5,6,7,8]
x.pop()
print(x)
x.pop(0)
print(x)
x.remove(3)
print(x)
del x[4]
print(x)
x.clear()
print(x)

reverse():列表元素反转
sort(reverse=True):列表元素反转,reverse=Flase 升序
copy():生成一个新列表,复制原列表的元素

 

x=[5,4,21,6,5,1,3,11,2,1]
x.reverse()
print(x)
x.sort()#默认是升序
print(x)
x.sort(reverse=True)
print(x)
a=x.copy()
print(a)

 

x=[1,2,3]
a=id(x)
x=x+[4]#列表可以进行加操作,但是地址会改变
print(x)
b=id(x)
print(a,b,sep="\n")
x+=[5]#原地操作地址不变
print(x)
c=id(x)
print(c)
x=x*2
print(x)
d=id(x)
x*=2
print(x)
print(d)
e=id(x)
print(x)
print(e)

元组:①元组放在()里②如果元组里面只有一个元素,必须在最后增加一个逗号
③使用tuple()创建空元组④支持双向索引⑤元组是不可变的

 


x=tuple()
a=type(x)
print(a)
a=(2,)
print(a)
b=(2)
print(b)
c=(1,2,3)
print(c)
print(c[-1])
print(c[0])

列表可变序列、可修改、不可以作为字典的键
元组不可变序列、不可修改、可以作为字典的键
a=(1,3,4,5)
a=a[:1]+(2,)+a[1:]#索引号1前面+2+索引号1后面的
print(a)

字典:①使用dict()生成一个空字典②键和值通过冒号连接组成的集合③字典内的键值对没有顺序且不可以重复
④元素的类型可以不同⑤用{}表示⑥在字典中,元素是以键值对存储的,因此键就是值的索引
⑦字典是可变的,可以存储任意类型
字典中的每个元素表示一种映射或对应关系,根据提供的“键”作为下标可以访问 对应的“值”,如果改“键”不存在,则抛出异常。
字符串、列表、元组等采用数字索引,字典采用字符(键)索引

d=dict()
print(d)
a={"name":"JACk","age":'18',"sex":"man"}
print(a)
print(a["name"])
print(a["tel"])

字典的操作方法:d.keys():返回字典中所有的键信息
d.values():返回字典中所有的值信息
d.items():返回字典中所有的键值对,(键值对以元组类型表示)
d.get(key,default):键存在则返回相应值,不存在则返回默认值default

clear():删除所有的键值对,清空字典
popitem():随机从字典取出一个键值对,以元组形式返回,同时将该键值对从字典中删除
pop(key,default):键存在则返回相应值,同时删除键值对,否则返回默认值default


a={"name":"JACk","age":'18',"sex":"man"}
print(a)
print(a.keys())
print(a.values())
print(a.items())
print(a.get("age"))
print(a.popitem())
print(a)
print(a.pop("name"))

集合:①元素不可重复②元素类型只能是不可变类型③集合元素没有顺序、不能比较、不能排序、没有索引和位置的概念
④用{}表示,⑤可使用set()创建
s={101,"python",23.2}
print(s,type(s))
a=set((1,2,5,4,2,1,4,3))
print(a)
b=set((1,))
print(b)
c=(1.2,"s",1)
print(c)
d=[1.2,"s",1]
print(d)

集合的操作方法:
add(x):若x不在集合中,就把x加入到该集合中
remove(x):若在,则移除X,不在产生KeyError异常
clear():移除集合中的所有元素
pop():随机删除集合中的一个元素
discard(x):从集合中删除一个特定元素
update({,,}):新增集合元素
x in s:x是集合的元素,返回True,不是返回False
x not in s:x不是集合的元素,返回True,是返回False
s={1,2,3}
s.add(5)
print(s)
s.remove(3)
print(s)
print(s.pop())
print(s)
s.discard(5)
print(s)
s.update({1,2,3,4,5})
print(s)
print(5 in s)
print(6 not in s)
s.clear()
print(s)

S-T :返回新的元素,元素在S不在T
s&T:返回在S也在T的元素
S^T: 返回包含S和T中的非共同元素
S|T:返回S 和T的所有元素


s={1,2,3,4,6}
t={1,2,5,6}
print(s-t)
print(s&t)
print(s^t)
print(s|t)

函数:a_set.union(b_set)->并集|
a_set.intersection(b_set)->交集&
a_set.difference(b_set)->差集-
a_set.symmetric_difference(b_set)->d对称差集^

'''
s={1,2,3,4,6}
t={1,2,5,6}
print(s.union(t))
print(s.intersection(t))
print(s.difference(t))
print(s.symmetric_difference(t))
'''

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-04-19 18:20  小白糖  阅读(235)  评论(0)    收藏  举报