您当前的位置: 首页 >  Python

黑马蓝汐

暂无认证

  • 1浏览

    0关注

    89博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python中列表的相关内容及操作

黑马蓝汐 发布时间:2021-08-05 00:08:27 ,浏览量:1

一.列表

格式:

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

作用:

列表可以一次性存储多个数据,且可以为不同数据类型

一.列表的常用操作

对列表的常用操作:

查找、增加、删除、修改

1.列表操作之查找

(1)下标

应用:

a = ['hello', 'world', 'python']
print(a[0])
print(a[1])
print(a[2])

结果:

 (2)函数

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

语法:

列表序列.index(数据,开始位置下标,结束位置下标)

应用:

a = ['hello', 'world', 'python']
print(a.index('python'))

结果:

 注意:如果查找数据不存在会报错

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

应用:

a = ['hello', 'world', 'python']
print(a.count('python'))

结果:

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

应用:

a = ['hello', 'world', 'python']
print(len(a))

结果:

 (3)判断是否存在

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

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

应用:

a = ['hello', 'world', 'python']
print('python' in a)
print('p' in a)
print('python' not in a)
print('p' not in a)

结果:

 2.列表操作之增加

作用:

增加指定数据到列表中

append():列表结尾追加数据

语法:

列表序列.append(数据)

应用:

a = ['hello', 'world', 'python']
a.append('1')
print(a)
a.append(['11', '22'])
print(a)

结果:

注意: 

1.列表为可变类型(列表中的数据可以改变)

2.如果append函数追加的数据是一个序列,它会追加整个序列到列表的结尾

extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表

应用:

a = ['hello', 'world', 'python']
a.extend('1234')
print(a)
a.extend(['123', '456'])
print(a)

结果: 

注意:

1. '1234'是一个字符串序列,所以也会被拆开

2.extend函数如果追加数据为一个序列,它会将数据序列中的数据拆开逐一追加到列表的末尾

insert():指定位置新增数据

语法:

列表序列.insert(位置下标,数据)

应用:

a = ['hello', 'world', 'python']
a.insert(1, 'a')
print(a)
a.insert(3, ['b', 'c'])
print(a)

结果:

  3.列表操作之删除

del 删除

语法:

del 目标

应用:

a = ['hello', 'world', 'python']
del a[0]
print(a)        # 结果:['world', 'python'],将第一个数据删除
del a
print(a)        # 结果:程序报错,列表a已被删除,不存在

pop():删除指定下标的数据,(不写下标默认为最后一个),并返回该数据

应用:

a = ['hello', 'world', 'python']
print(a.pop())      # 不写下标,默认删除最后一个,并将其作为返回值
print(a)
print(a.pop(0))
print(a)            # 下标为0,所以删除第一个数据,并将其作为返回值

remove():移除列表中某个数据的第一匹配项

语法:

列表序列.remove(数据)

应用:

a = ['hello', 'world', 'python', 'world']
a.remove('world')
print(a)            # 结果:['hello', 'python', 'world'],删除第一匹配项,所以第一个world被删除,第二个没有

clear():清空列表

应用:

a = ['hello', 'world', 'python', 'world']
a.clear()
print(a)

结果:

注意: 

clear会清除列表,但会保留空列表

4.列表操作之修改

修改指定下标数据

应用:

a = ['hello', 'world', 'python']
a[0] = '1'
print(a)

结果:

逆置:reverse()

应用:

a = ['hello', 'world', 'python']
a.reverse()
print(a)

结果:

排序:sort()

语法:

列表序列.sort(key = None, reverse = False)

应用:

a = [1, 5, 3, 4, 2]
a.sort()
print(a)        # 结果:[1, 2, 3, 4, 5],默认为升序
a.sort(reverse=True)
print(a)

结果:

注意:

1.括号中的key= None可先忽略,与字典相关

2.reverse表示排序规则,reverse = True 降序,reverse = False 升序(默认)

二.列表复制数据

函数:

copy():复制

应用:

a = [1, 5, 3, 4, 2]
b = a.copy()
print(a)
print(b)

结果:

三.列表的遍历之while和for 1.遍历之while

应用:

a = [1, 5, 3]
i = 0
while i < len(a):
    print(a[i])
    i += 1

结果:

2.遍历之for 

应用:

a = [1, 5, 3]
for i in a:
    print(i)

结果:

四.列表的嵌套

列表嵌套:一个列表里面包含了其他的子列表

应用:

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(a[0])
print(a[0][1])

结果:

 二.思考题

题目:

将8名老师随机分到三个办公室,并打印每个办公室每个老师的姓名

答案样例:(老师为随机分配,答案不唯一)

思考题代码:

import random                                       # 随机数
teachers = [1, 2, 3, 4, 5, 6, 7, 8]                 # 代表8个老师
offices = [[], [], []]                              # 代表3个办公室
for name in teachers:                               # 遍历每个老师的姓名
    offices[random.randint(0, 2)].append(name)      # 将产生的随机数作为offices的下标(也就是随机选取一个办公室),再把每个老师的名字追加到随机办公室中
j = 1                                               # 办公室编号
for office in offices:                              # 用一个嵌套for循环,遍历每个办公室中的所有老师并输出
    print(f'办公室{j}有{len(office)}名老师,姓名为:')  # 第一个for是遍历每个办公室,第二个for是遍历办公室中每个老师
    for i in office:
        print(i)
    j += 1                                          # j自增,从而改变办公室的编号
关注
打赏
1643043582
查看更多评论
立即登录/注册

微信扫码登录

0.0513s