Python第七天列表&元组

162 阅读6分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

列表

目标

  • 列表的应用场景
  • 列表的格式
  • 列表的常用操作
  • 列表的循环遍历
  • 列表的嵌套使用

列表的应用场景

列表的应用场景很简单就是,就是规整的存储我们的数据,使我们的数据不会那么乱,应用场景的地方可以是非常非常广泛,只要你要显示数据的,基本都会用到列表之类的东西

列表一次性可以存储多个数据

列表的格式

[数据1,数据2,数据3,数据4,]

列表的常用操作

列表的常用操作就是对数据的增删改查

查找

在列表中常用的是以下标和函数进行查找

下标
a=['Blue','Guns','Hog','Freak']
print(a[0])
print(a[1])
print(a[2])
print(a[3])

输出结果为

Blue
Guns
Hog
Freak
解释

每一个单引号就是下标,我这是输出了下标0,1,2,3

外国是从0开始数的,

函数

通过函数去查找的话有index()和count()和我们字符串中的是一样的,那么这里多讲一个len()函数,这个函数呢用来查找列表的数据出现的个数的

index()

index():返回指的数据所在的下标

语法

列表序列.index(数据,开始位置下标,结束位置下标)
或者这样
列表序列.index(数据)
a=['Blue','Guns','Hog','Freak']
print(a.index('Hog'))
count()

count():统计指定数据在当前列表中出现的次数

a=['Blue','Guns','Hog','Freak']
print(a.count('Hog'))

返回数据为1,也就是说,我列表中只有一个个Hog名字

len()

len():访问列表长度,即可列表中数据的个数

a=['Blue','Guns','Hog','Freak']
print(len(a))

返回数据是4

说明我列表中有四个数据

判断

判断呢,主要是是判断这数据是否存在,存在返回True,不存在返回Fale

主要函数呢有,in和not in

in

in:判断指定的数据是否在某个列中,存在返回True,不存在返回Fale

a=['Blue','Guns','Hog','Freak']
print('Hog' in a)
print('666' in a)

返回结果为

True
False

这解释就不用了,为什么啊

因为列表中有Hog这数据,而666没有

not in

not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False

a=['Blue','Guns','Hog','Freak']
print('Hog' not in a)
print('666' not in a)

返回结果为

False
True

为什么呢,当存在的是否返回False,不在返回True,和我们in函数相反

in案例

a=input("请输入注册用户名:")
c=['Blue','Guns','Hog','Freak']
​
​
​
if a in c:
    print('用户名已被注册!')
else:
    print('注册成功!')
​
解释
a=input("请输入注册用户名:")
c=['Blue','Guns','Hog','Freak']
​
​
#主要还是看这里
#这是的意思变量a赋值过来的数据,存不存在c列表中,如果存在返回True不在返回False
#当存在输出已注册,不存在返回注册成功
if a in c:
    print('用户名已被注册!')
else:
    print('注册成功!')
​

增加

就是往指定的地方增加数据

有哪些函数呢

append():列表结尾追加数据
extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
intsert():指定位置新增数据
append()
a=['Blue','Guns','Hog','Freak']a.append('666')
print(a)

输出

['Blue', 'Guns', 'Hog', 'Freak', '666']

他这不会保存

会顶掉之前的末尾数据

extend()
语法
列表序列.extend(数据)
a=['Blue','Guns','Hog','Freak']a.extend('666')
print(a)

返回数据

['Blue', 'Guns', 'Hog', 'Freak', '6', '6', '6']
insert()
语法
列表序列.insert(下标位置,'数据')
a=['Blue','Guns','Hog','Freak']a.insert(1,'666')
print(a)

输出

['Blue', '666', 'Guns', 'Hog', 'Freak']

删除

del()
pop()
remove()
clear()
del()
语法
del 目标
a=['Blue','Guns','Hog','Freak']del a[2]
print(a)

删除整个列表

a=['Blue','Guns','Hog','Freak']del a
print(a)
#他就不会输出了直接报错了

输出

['Blue', 'Guns', 'Freak']
pop()
a=['Blue','Guns','Hog','Freak']b=a.pop()#当没有指定下标,如果不指定默认从最后开始删
print(b)
print(a)

输出

Freak
['Blue', 'Guns', 'Hog']
a=['Blue','Guns','Hog','Freak']b=a.pop(0)
print(b)
print(a)
remove()
a=['Blue','Guns','Hog','Freak']a.remove('Hog')
print(a)

输出

['Blue', 'Guns', 'Freak']
clear() 清空列表
a=['Blue','Guns','Hog','Freak']a.clear()
print(a)

输出

[]

没有数据了,只有一个括号了

修改

修改函数常用哪些呢

逆置:reverse()
排序:sort()
reverse()
a=[1,2,3,4,5,6,7,8,9]
a.reverse()
print(a)

输出

[9, 8, 7, 6, 5, 4, 3, 2, 1]

就是倒着输出

sort() 正经排序
a=[4,7,2,3,8,6,1,5,9]
a.sort()
print(a)

输出

[1, 2, 3, 4, 5, 6, 7, 8, 9]

这输出就很正经

复制

函数就一个

就是我们鼎鼎大名的

copy()
a=['只要有你,我便无所不能。']
b=a.copy()
print(b)

输出

['只要有你,我便无所不能。']

这就是吧a列表的复制到了b,现在输出b的

列表的循环遍历

循环遍历就是打印显示出,列表中的各个数据

用啥函数呢

while()

用while()函数

a=['Blue','Guns','Hog','Freak']i=0
while i<len(a):
    print(a[i])
    i+=1

输出

Blue
Guns
Hog
Freak
解释
#这里设置一个列
a=['Blue','Guns','Hog','Freak']
​
#这里设置一个变量i=0
i=0
#这里是一个循环条件上的判断,当i小于数据中的个数或者几个下标的时候就执行下面的代码
#数据中有四个下标
while i<len(a):
    #这就是打印a列表里面的第几个下标的数据
    print(a[i])
    #每执行一次数据,i在上一次的基础上加1
    i+=1

for() 建议用for循环

a=['Blue','Guns','Hog','Freak']
​
for i in a:
    print(i)

输出结果是

Blue
Guns
Hog
Freak

列表嵌套

嵌套就大的包着小的

a=[['Blue','Guns','Hog','Freak'],['Yank','Bud','Steel'],['Duke','Slick','Goose']]
​
print(a[2])
print(a[1][1])

输出

['Duke', 'Slick', 'Goose']
Bud

解释

#这里设置了一个大的列表,而大的列表里面有三个小的列表,列表和列表之间用逗号隔开
a=[['Blue','Guns','Hog','Freak'],['Yank','Bud','Steel'],['Duke','Slick','Goose']]
​
#这里是打印出列表数的来解释一下这是什么意思
#第一个是打印出a变量中的大列表里面的第二个列表
#外国是从0开始计数的,第二个也是就是最后一个列表
print(a[2])
#那么这个是什么意思呢
#这个意思是打印出a变量中大列表的第1个列表的第1个下标
print(a[1][1])

列表终结

  • 列表的格式

    [数据1,数据2,数据3]

  • 常用的操作方法

    index()

    len()

    append()

    pop()

    remove()

  • 列表嵌套

下一章是元组,这章太多了

\