侧边栏壁纸
  • 累计撰写 119 篇文章
  • 累计创建 25 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

列表

梁来福
2022-02-10 / 0 评论 / 0 点赞 / 0 阅读 / 5733 字
温馨提示:
本文最后更新于 2024-05-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

查找函数

list = ['python', 'java', 'go', 'shell']

1、index() ---返回指定数据所在位置的下标,如果数据不存在则报错

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

print(list.index('go', 0,3))

执行结果:2

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

print(list.count('python'))

执行结果:1

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

print(len(list))

执行结果:4


判断是否存在

1、in ---判断指定数据某个列表序列中

print('python' in list)

执行结果:True

2、not in ---判断指定数据不在某个列表序列中

3、案例:注册邮箱,用户输入账号名,判断这个账户存在提示已存在,不在则可注册

name_list = ['Tom', 'Tom1', 'Tom2']

name = input('请输入您的邮箱账号名:')

if name in name_list:
    print(f'您输入的邮箱账号名为{name},已存在不可注册')
else:
    print(f'您输入的邮箱账号名为{name},可注册')

列表增加数据

1、append() ---列表结尾追加数据

语法:列表序列.append(数据)

list.append('php')
print(list)

执行结果:['python', 'java', 'go', 'shell', 'php']

list.append(['php', 'lua'])
print(list)

执行结果:['python', 'java', 'go', 'shell', ['php', 'lua']]

注意点:

列表为可变数据类型

如果append()追加的数据是一个序列,则追加整个序列到列表

2、extend()

list.extend('php')
print(list)

执行结果:['python', 'java', 'go', 'shell', 'p', 'h', 'p']

list.extend(['php', 'lua'])
print(list)

执行结果:['python', 'java', 'go', 'shell', ['php', 'lua']]

注意点:

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

3、insert() ---指定位置新增数据

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

list.insert(0, 'php')
print(list)

执行结果:['php', 'python', 'java', 'go', 'shell']


list1 = ['python', 'java', 'go', 'shell']

列表删除数据

1、del

语法:del 目标/del(目标)

del(list1)
print(list1)

输出结果:NameError: name 'list1' is not defined

del(list1[1])
print(list1)

输出结果:['python', 'go', 'shell']

2、pop() ---删除指定下标数据(默认为最后一个),并返回该数据

语法:列表序列.pop(下标)

new_list = list1.pop(1)
print(new_list)
print(list1)

输出结果:

java
['python', 'go', 'shell']

3、remove() ---移除列表中某个数据的第一个匹配项(意思是如果有多个移除第一个)

list1.remove('go')
print(list1)

执行结果:['python', 'java', 'shell']

4、clear() ---清空列表

list1.clear()
print(list1)

执行结果:[]


列表修改数据

1、修改指定下标的数据

list1[1] = 'php'
print(list1)

执行结果:['python', 'php', 'go', 'shell']

list2 = [1, 3, 2, 5, 4, 6]

2、reverse() ---逆置排序

list2.reverse()
print(list2)

执行结果:[6, 4, 5, 2, 3, 1]

3、sort()

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

注意:reverse表示排序规则,reverse=True降序,reverse=False升序(默认)

list2.sort()
print(list2)

执行结果:[1, 2, 3, 4, 5, 6]

list2.sort(reverse=True)
print(list2)

执行结果:[6, 5, 4, 3, 2, 1]


复制数据

copy()

list2 = list1.copy()
print(list1)
print(list2)

执行结果:

['python', 'java', 'go', 'shell']
['python', 'java', 'go', 'shell']


列表的循环遍历

name_list = ['python', 'java', 'go', 'shell']

需求:依次打印列表中的各个数据

1、while

i = 0
while i < len(name_list):
    print(name_list[i])
    i += 1

执行结果:

python
java
go
shell

2、for

for i in name_list:
    print(i)

执行结果:

python
java
go
shell


列表嵌套

所谓列表嵌套指的就是一个列表里包含了其他的子列表

需求:拿到下边列表中的“王麻子”

name_list = [['张三','李四', '王麻子'], ['Tom', 'Tom1', 'Tom2'], ['小明', '小红', '小绿']]
print(name_list[0][2])

执行结果:王麻子


列表的综合案例

需求:将8位老师随机分配到3个办公室

分析:

1、准备好老师和办公室的数据;

2、分配老师到办公室---取每个老师的值到办公室列表---遍历老师列表的数据

3、办公室列表追加数据 append(选中),extend(逐一追加不可取),insert(下标追加,需求是随机追加的)

4、导入随机函数,随机办公室3个所以randint(0, 2)

5、打印几次办公室offices看结果

import random
teachers = ['老师A', '老师B', '老师C', '老师D', '老师E', '老师F', '老师G', '老师H']
offices = [[], [], []]

for t_name in teachers:
    num = random.randint(0, 2)
    offices[num].append(t_name)
print(offices)

执行结果:[['老师B', '老师E'], ['老师A', '老师C', '老师D', '老师F', '老师G'], ['老师H']]

需求:验证是否正确,贴合生活习惯打印出每个办公室的编号以及分配到的老师

分析:

1、准备办公室编号i

2、格式化输出办公室编号以及人数---即子列表的个数---len()函数,分别是哪些老师

3、办公室编号自增

import random
teachers = ['老师A', '老师B', '老师C', '老师D', '老师E', '老师F', '老师G', '老师H']
offices = [[], [], []]

for t_name in teachers:
    num = random.randint(0, 2)
    offices[num].append(t_name)
print(offices)

i = 1
for office in offices:
    print(f'办公室{i}的人数为{len(office)},老师分别是:')
    for t_name in office:
        print(t_name)
    i += 1

执行结果:

[['老师E'], ['老师A', '老师C', '老师G'], ['老师B', '老师D', '老师F', '老师H']]
办公室1的人数为1,老师分别是:
老师E
办公室2的人数为3,老师分别是:
老师A
老师C
老师G
办公室3的人数为4,老师分别是:
老师B
老师D
老师F
老师H


列表总结

  • 列表的格式

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

  • 常用操作方法
    index()
    len()
    append()
    pop()
    remove()
  • 列表嵌套
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论