1.什么是列表
列表是一系列按特定顺序排列的元素组成。
2.列表的形式
name=[ 'tom' , 'jerry' , 'sam']
3.列表的打印
可以通过print(name)打印出,,列表中的所有元素。可以通过print(name[0])打印出列表中的第一个元素。
4.修改列表中的元素
name=[ 'tom' , 'jerry' , 'sam'] #定义一个列表
print(name[0]) #输出列表中的第一个元素
name[0] = 'lily' #修改列表中的第一个元素
print(name) #输出修改后的列表元素
5.添加与插入元素
添加,name.append( 'simon' ) 在末尾添加元素
插入元素,name.insert( 0,'simon' ) 在第一个位置插入元素
6.删除元素
用del, del name[0] 删除第一个元素
用pop(), 这是一个弹出函数,删除最后一个元素,并且可以继续使用这个值
poped_name = name.pop() 弹出列表name中的最后一个元素,并且将这个值赋给poped_name
.pop()中不填数字默认弹出最后一个元素,pop(i)表示弹出列表中的 第i+1个元素。
用remove删除元素的值,删除name中的 tom , name.remove('tom')
remove只删除第一个指定的值,就是这个只多次在列表出现,仅被删除第一次出现的值,其他位置的不会被删除,需要使用循坏来删除。
.clear 清空列表所有元素
7.对列表永久排序
使用sort()对列表永久排序,name.sort() 对列表元素安首字母排序,是永久的。
用sorted()对列表临时排序sorted(name) 会产生新的列表对象
倒着打印列表:使用reverse()此方法是永久性的,如果恢复原来的顺序只需要在次使用reverse即可。
确定列表长度:使用 len() 即可,如len(name)则显示name这个列表的
8列表生成式
lst = [i for i in range(1,10)]
字典
以键值对的方式存储数据,无序的序列
字典的创建
用{}创建
s={‘张’ :100,‘李’:20,‘陈’:900}
用内置函数dict()创建
student = dict(name = 'jack' , age = 20)
空字典
s = {}
字典值的获取
print(s.['陈'])
print(s.get('陈'))
字典元素的删除与新增
del s['陈'] 删除一对
s ['王'] = 88 新增一对
打印出键和值,并把字典转成列表
s={'张' :100,'李':20 ,'陈':900}
keys = s.keys()
print(keys)
print(type(keys))
print(list(keys))
values = s.values()
print(values)
print(type(values))
print(list(values))
字典的遍历
s={'张' :100,'李':20 ,'陈':900}
for i in s:
print(i,s.get(i),i,s[i])
字典的特点:所有元素都是一个键值对,key不允许重复,value可以重复
字典中的元素是无序的
字典中的key必须是不可变对象
字典可以根据需要动态地伸缩
字典会浪费较大的内存,是一种使用空间换时间的数据结构
字典生成式
name = ['张','李', '陈']
score = [100,200,300]
d = {name:score for name,score in zip(name,score)}
print(d)
元组
创建:用()创建
s= ('python' , 'world' , 98)
内置函数创建
ti = tuple(('python' , 'world' , 98))
空元组的创建
d = ()
d = tuple()
元组的遍历
ti = tuple(('python' , 'world' , 98))
print(ti[0])
for i in ti:
print(i)
集合
创建:没有值的列表
{1,2,3,4,5}
s=set({1,2,3,4,5})
可以用set函数将字符串,列表转成集合类型
空集合不能直接使用{},这个类型是空字典
集合的操作
集合元素的新增:s.add() s.update()
添加单个元素s.add(20)
添加列表s.update([1,2,3])
添加字典s.update({1,2,3})
集合的删除
s.remove(100)
移除时要求集合中一定要有这个元素
s.discard()
删除没有的元素时不报错
s.pop()
不能添加参数,随机删除任意一个元素
s.clear()
删除集合中的所有元素
判断集合之间的关系
相等:两个集合中元素一样
s={1,2,3,4}
s2={4,3,2,1}
s=s2
子集:a的元素在b里a是b的子集
a={1,2,3,4,5} b={1,2,3,4,5,6} a是b的子集
a.issubset(b)
超集:issuperset()
交集:isdisjoint()
计算两集合的交集、并集.....
交集:a.intersection(b) or &
并集:a.union(b)
差集:a.inference(b) or -
对称差集:a.symmetric_inference(b) or ^
集合生成式
{i*i for i in range(6)}
字符串
函数
函数的创建
def 名字(参数):
函数体
[return xxx]
可变的关键字参数,可变的位置参数只能有一个
def fun(a,b,c):
print('a=',a)
print('b=',b)
print('c=',c)
lst = [12,13,14]
fun(*lst) #函数调用时,将列表的每个元素转换为位置参数调用
def fun(a,b):
global c #c是局部变量,通过此句可以变成全局变量在函数体外使用
c=a+b
print(c)
fun(10,20)C
print(c)
BUG
异常处理函数try except
try:
a=int(input('please input a int:'))
b=int(input('please input other int:'))
c=a/b
print(c)
except ZeroDivisionError:
print('0不能做除数')
try ......except....else结构
如果try中没有抛出异常,则执行else块,如果try中有异常,则执行except块。
try ......except....else.......finally 结构
finally块无论是否发生异常都会被执行,能采用用来释放try块中申请的资源
类
class student:
pass
这就是一个类
创建一个类
class student:
native_pace = 'anhui' #类属性,写在类里的变量
def __int__(self,name,age):
self.name = name
self.age = age
#实例方法
def eat(self): #这个叫方法,定义在类里面就叫方法,之外叫函数
print('123456')
#静态方法
@staticmethod
def method():
print('45666')
#类方法
@classmethod
def cm(cls):
print('778955')
def drink(self):
print('789456')