1、列表的定义
列表格式:列表名=[元素1,元素2,…]
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
list1 = ['hell', 'python', ‘p’]
2、列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
print(namesList[0])
print(namesList[1])
print(namesList[2])
结果:
xiaoWang
xiaoZhang
xiaoHua
3、列表可以嵌套,即列表里面的元素可以是列表,此外列表中的元素数据类型可以不一致
list1 = ['hell', 'python', [1999, 2000,2001]]
4、列表的循环遍历
使用for循环
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
print(name)
结果:
xiaoWang
xiaoZhang
xiaoHua
使用while循环
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
length = len(namesList)
i = 0
while i
5、列表的相关操作
列表中存放的数据是可以进行修改的,比如"增"、“删”、“改”"
<1>添加元素("增"append, extend, insert)
通过append可以向列表添加元素
#定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("-----添加之前,列表A的数据-----")
for tempName in A:
print(tempName)
#提示、并添加元素
temp = input('请输入要添加的学生姓名:')
A.append(temp)
print("-----添加之后,列表A的数据-----")
for tempName in A:
print(tempName)
通过extend可以将另一个集合中的元素逐一添加到列表中
a=['xiaozhang','xiaowang','xiaoming']
print(a)
b=['xiaosan','xiaosi']
a.extend(b)
print(a)
==运行结果==
['xiaozhang', 'xiaowang', 'xiaoming']
['xiaozhang', 'xiaowang', 'xiaoming', 'xiaosan', 'xiaosi']
insert(index, object) 在指定位置index前插入元素object
a=[1,2,3,4,5]
print(a)
a.insert(2,99)
print(a)
==运行结果==
[1, 2, 3, 4, 5]
[1, 2, 99, 3, 4, 5]
<2>修改元素(“改”)
#定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("-----修改之前,列表A的数据-----")
for tempName in A:
print(tempName)
#修改元素
A[1] = 'xiaoLu'
print("-----修改之后,列表A的数据-----")
for tempName in A:
print(tempName)
结果:
-----修改之前,列表A的数据-----
xiaoWang
xiaoZhang
xiaoHua
-----修改之后,列表A的数据-----
xiaoWang
xiaoLu
xiaoHua
<3>查找元素("查"in, not in, index, count)
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false
#待查找的列表
nameList = ['xiaoWang','xiaoZhang','xiaoHua']
#获取用户要查找的名字
findName = input('请输入要查找的姓名:')
#查找是否存在
if findName in nameList:
print('在字典中找到了相同的名字')
else:
print('没有找到')
结果1:(找到)
结果2:(没有找到)
Index(第一次出现的位置)和count(出现的次数)与字符串中的用法相同
这里出现了 函数:len()
作用是:返回字符串、列表、字典、元组等长度
namelist=['xiaozhang','xiaowang','xiaoming','xiaozhang','xiaowang']
print(namelist)
index=namelist.index('xiaowang',0,len(namelist)) #xiaowang在0到5之间第一次出现的位置
print(index)
count=namelist.count('xiaowang') #xiaowang在namelist出现了几次
print(count)
==运行结果==
['xiaozhang', 'xiaowang', 'xiaoming', 'xiaozhang', 'xiaowang']
1
2
<3>删除元素("删"del, pop, remove)
列表元素的常用删除方法有:
(1)del:根据下标进行删除
(2)pop:删除最后一个元素
(3)remove:根据元素的值进行删除
1、del
namelist=['xiaozhang','xiaowang','xiaoming','xiaozhang','xiaowang']
print(namelist)
del namelist[0]
print('删除后:')
print(namelist)
结果:
['xiaozhang', 'xiaowang', 'xiaoming', 'xiaozhang', 'xiaowang']
删除后:
['xiaowang', 'xiaoming', 'xiaozhang', 'xiaowang']
2、(pop)
namelist=['xiaozhang','xiaowang','xiaoming','xiaozhang','xiaowang']
print(namelist)
namelist.pop()
print('删除后:')
print(namelist)
结果:
['xiaozhang', 'xiaowang', 'xiaoming', 'xiaozhang', 'xiaowang']
删除后:
['xiaozhang', 'xiaowang', 'xiaoming', 'xiaozhang']
3、remove
namelist=['xiaozhang','xiaowang','xiaoming','xiaozhang','xiaowang']
print(namelist)
namelist.remove('xiaozhang')
print('删除后:')
print(namelist)
结果:
['xiaozhang', 'xiaowang', 'xiaoming', 'xiaozhang', 'xiaowang']
删除后:
['xiaowang', 'xiaoming', 'xiaozhang', 'xiaowang']
<5>排序(sort, reverse)
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。
a=[1,8,7,3]
print(a)
# 将a倒序
a.reverse()
print(a)
# 将a升序排列
a.sort()
print(a)
# 将a降序排列
a.sort(reverse=True)
print(a)
==结果==
[1, 8, 7, 3]
[3, 7, 8, 1]
[1, 3, 7, 8]
[8, 7, 3, 1]