个人简介
- 大家好,我是韩慧腾。一名正在努力学python的大一小白,本文章为初学的笔记,希望各位多多指教。💙
- 欢迎点赞+收藏+留言💜
- 我一定能成为我想成为的人🧡
一、列表
概述:变量可以存储一个元素,而列表可以看作是以一个大容器,可以存储多个元素,程序可以更加方便的对这些数据进行操作;类似于一个有索引的集合,可以存放任何类型的数据。
列表特点:
- # @Author:韩慧腾
- # @Time :2022/6/18 21:49
- # @File :list_Demo.py
- # 努力已经来不及了,你得拼命
- a=10 #一个变量存储的是一个对象的引用
- l=['python','java',12,23.43]
- print(id(l))#输出列表对象的地址
- print(type(l))#类型就是list
- print(l)#输出列表
二、列表的基本操作
1.需要使用中括号[ ],元素之间使用英文的逗号进行分隔。eg:l=['python','java',12]。
2.使用内置函数list()
当步长为负数时,会将截取的片段逆序输出。
- # @Author:韩慧腾
- # @Time :2022/6/19 7:52
- # @File :list_Demo0.py
- # 努力已经来不及了,你得拼命
- l=['python','list',12,'list']
- print(l)
- l1=list(['python','java',12])
- print(l1)
- #获取列表元素的索引值,如果查找的元素不存在,则会报错
- print(l.index('python'))
- #在指定的区间中查找元素
- print(l.index('list',2,4))
- #正向索引
- print(l[2])#12
- #用于截取某一片段
- print(l[1:4])
- #可以用来逆序输出列表
- print(l[3:1:-1])
-
- # @Author:韩慧腾
- # @Time :2022/6/27 12:51
- # @File :list_Demo2.py
- # 努力已经来不及了,你得拼命
- #判断列表中是否有某元素
- print( 'p' in 'python')#True
- print('m' in 'python')#False
- print( 'p' not in 'python')#False
- print('m' not in 'python')#True
- #遍历列表
- a=[12,23,'python','abb']
- for i in a:
- print(i)
- # @Author:韩慧腾
- # @Time :2022/6/27 20:50
- # @File :list_Demo3.py
- # 努力已经来不及了,你得拼命
- #在一个列表中添加元素后新列表地址值不会改变,即不会创建新列表
- a=[12,2,'python','java']
- print(id(a)) #2327495879680
- print(a) #[12, 2, 'python', 'java']
- a.append('c++')
- print(id(a))#2327495879680
- print(a)#[12, 2, 'python', 'java', 'c++']
- #append方法只能添加一个元素,需要添加多个元素可以用extend
- b=['c#','C']
- a.extend(b)
- print(a) #print(a) #[12, 2, 'python', 'java']
- c=['PHP','html','CSS']
- #切片操作
- a[1:]=c
- print(id(a)) #1676459748288,说明此操作不会创建新列表
- print(a)#[12, 'PHP', 'html', 'CSS']
- # @Author:韩慧腾
- # @Time :2022/6/27 21:22
- # @File :list_Demo4.py
- # 努力已经来不及了,你得拼命
- a=[12,23,'python','PHP','Java']
- #a.remove(1) #注意删除元素时候remove参数是具体的值,不是索引值,此处就会报错
- a.remove('python')
- print(a) #[12, 23, 'PHP', 'Java']
- a.pop(1) #此处的参数就是索引值,会删除索引值为1的元素
- print(a)
- a.pop() #无参数时候会默认删除列表最后一个元素
- print(a) #[12, 'PHP']
- #切片操作(至少删除一个元素),会产生一个新的列表对象
- b=[12,1,2,3,'python','java']
- c=b[2:4] #产生一个新的列表对象
- print(b) #[12, 1, 2, 3, 'python', 'java']
- print(c) #[2, 3]
- #用切片操作删除元素,思路就是用一个空列表代替切去的元素
- lst=[12,22,33,44,'python','java']
- lst[2:5]=[]
- print(lst) #[12, 22, 'java']
- #清空列表中所有元素
- lst.clear()
- print(lst) #[]
- #del语句删除列表对象
- del lst
- print(lst)#此时就会报错,因为列表对象已被删除
为指定索引的元素赋予一个新值,为指定的切片赋予一个新值。
-
- # @Author:韩慧腾
- # @Time :2022/6/28 11:31
- # @File :list_Demo5.py
- # 努力已经来不及了,你得拼命
- lst=[12,22,33,44,'python','java']
- lst[3]=333 #根据索引修改值
- print(lst)
- #用切片操作修改元素
- lst[1:3]=['PHP','JAVA','C++']
- print(lst) #[12, 'PHP', 'JAVA', 'C++', 333, 'python', 'java']
-
-
1.调用sort()方法,列中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True(作为参数),进行降序排序。不会产生新的列表对象
2.调用内置函数sorted()函数,可指定reverse=True,进行降序排序,原列表不会发生改变;排序后的列表会产生一个新列表对象。
- # @Author:韩慧腾
- # @Time :2022/6/28 21:38
- # @File :list_Demo6.py
- # 努力已经来不及了,你得拼命
- l=[12,2,33,444,545,1]
- #调用sort方法排序,该方法并不会创建新的列表对象
- l.sort() #升序
- print(l)
- l.sort(reverse=True) #降序
- print(l)
- #调用内置函数sorted,会产生一个新的列表对象
- new_l=sorted(l)#升序
- print(new_l)
- new_ll=sorted(l,reverse=True)#降序
- print(new_ll)
其中i平方就是列表生成元素。
- # @Author:韩慧腾
- # @Time :2022/6/30 10:32
- # @File :list_Demo7.py
- # 努力已经来不及了,你得拼命
- #列表生成式
- l=[i*2 for i in range(1,6)]
- print(l) #[2, 4, 6, 8, 10]
- l1=[i for i in range(1,11)]
- print(l1) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]