第6讲Python列表
第6讲Python列表
一、列表
1.定义
列表时Python中最基本也是最常用的数据结构之一,它时一个有序可重复的元素集合。从数据结构角度来看,Python的列表时一个可变长度的顺序储存结构,每一个位置存放的都是对象的指针。
我们可以对列表进行修改、切片、追加、删除、嵌套、成员判断等操作。
2.创建
列表使用[]来表示的 用list来表示
lst=['1236','张三','李四','王五']
3.列表中元素读取
lst=['1236','张三','李四','王五']
print (lst[0]) #0表示列表中第一个元素
1236 #输出显示
4.修改列表内的元素
lst=['1236','张三','李四','王五']
lst[0]=100 #第一个元素替换为100
print(lst)
[100, '张三', '李四', '王五'] #输出显示
5.删除列表内的元素
- pop del remove
#pop
lst=['1236','张三','李四','王五']
print (lst) #0表示列表中第一个元素
lst.pop() #默认删除最后一个元素
lst.pop(1) #删除索引为1的元素
print(lst)
#del
lst=['1236','张三','李四','王五']
# print (lst) #0表示列表中第一个元素
# lst.pop() #默认删除最后一个元素
# lst.pop(1) #删除索引为1的元素
# print(lst)
print(lst)
del lst[0] #删除索引为0的元素
print(lst) #删除列表lst
del lst
print(lst)
lst.remove('1236') #删除列表中元素为1236
lst.remove(100) #删除列表中元素为100
#lst.remove() #必须带有元素
print(lst)
6.列表的特殊操作
列表相加
列表展开
成员判断
迭代
lst_1 = [1,3,5]
lst_2 = [2,4,6]
print(lst_1 + lst_2) # [1, 3, 5, 2, 4, 6]
print(lst_1*3) # [1, 3, 5, 1, 3, 5, 1, 3, 5]
print(2 not in lst_1) # true 用成员运算符in / not in 来判断元素是否在列表内,返回bool值
print(4 not in lst_2) # False
lst_1 = [1,3,5]
for i in lst_1:
print(i) # 遍历列表元素
7.常用内置函数
max()最大值
min()最小值
index()从元素索引位置(第一个位置)
count()统计元素在列表中的个数
len()元素个数
append() 在列表末尾添加新的对象
insert(index, object)将对象插入列表
extend()用新列表扩展原来的列表
copy()–>复制列表
clear()–>清空列表
lst=[2,5,6,9,5,5]
print (max(lst)) #元素中最大值
print (min(lst)) #元素中最小值
print (lst.index(5)) #元素索引位置,有多个时只返回第一个位置
print(lst.count(5)) #统计元素在列表中的个数
print(len(lst)) #元素个数
lst.append('ab')
print(lst)#[2, 5, 6, 9, 5, 5, 'ab']
lst.insert(2,'ab') #2位置插入ab
print(lst)#[2, 5, 'ab', 6, 9, 5, 5, 'ab']
lst.extend(['a','b','c']) #['a','b','c']加入到lst中
print(lst)
b=lst.copy() #复制列表
print(b)
print(b.clear())#清空列表
8.排序与反转
反转reverse()
lst=[2,5,3,2,15,25,30,32,1]
# print (lst[::-1]) #逆序取出
lst.reverse() #逆序
print(lst)
列表排序sort()
lst=[2,5,3,2,15,25,30,32,1]
lst.sort() #排序
print(lst) #[1, 2, 2, 3, 5, 15, 25, 30, 32]
9.切片
slice(start,stop[,step])
start: 起始位置默认为0
stop:结束位置默认最后一个元素
step:可选参数:步长,默认为1
a=list('0123456789')
b=a[0:10:2]
print(b) #['0', '2', '4', '6', '8']
作业
1、多种方法实现a = [1, 2, 3, 4, 5, 6]–>[6, 5, 4, 3, 2, 1]
a=[1, 2, 3, 4, 5, 6]
print(a[::-1])
a.reverse()
print(a)
2、给用户9次机会,猜1-10的数字,要求用户猜对的几率为
num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num_b=num.copy()
for i in range(1, 10):
b = int(input(f'请猜数字1-10,您还有{10-i}次机会:'))
if b in num :
num.remove(b)
print('抱歉,猜错了!')
print(f'对不起!您的次数已经用完,正确的数字为:{num[0]}')
3、有两个列表li1=[11, 22, 33],li2=[22, 33, 44],获取它们中相同的元素
li1=[11, 22, 33]
li2=[22, 33, 44]
b=[]
for i in range(len(li1)):
for j in range(len(li2)):
if li1[i]==li2[j]:
b.append(li1[i])
print(f'相同元素为:',b)
4、将8位老师随机分配到3个办公室中
import random
li=[1,2,3,4,5,6,7,8]
a=[]
b=[]
c=[]
for i in range(0, 8):
tc_i = random.randint(0, len(li) - 1)
random.choice([a,b,c]).insert(0,li[tc_i])
li.remove(li[tc_i])
print(f'第一间:{a},第二间:{b},第三间{c}')
上一篇: 第10讲:面向对象----继承
下一篇: 对三个数值进行排序
推荐阅读
-
[课后作业] 第001讲:我和Python的第一次亲密接触 | 课后测试题的答案
-
[课后作业] 第001讲:我和Python的第一次亲密接触 | 课后测试题
-
《零基础入门学习Python》【第一版】视频课后答案第002讲
-
《零基础入门学习Python》【第一版】视频课后答案第001讲
-
python学习笔记:第6天 小数据池和编码转换
-
小甲鱼Python教程第15讲--python字符串格式化笔记及习题答案
-
Python学习,第007、008讲:了不起的分支和循环2
-
FishC《零基础学习python》笔记--第007、008讲、009讲:了不起的分支和循环1、2、3
-
零基础入门学习Python | 第003讲:插曲之变量和字符串
-
《Python数据分析与挖掘实战》第6章——LM+CART