基础--6、列表

在这里插入图片描述


Grundstufe - 6.liste)

一、列表

  • 列表的表示方式:
    • 变量 = [元素、元素、元素]
  • 列表本身也是一个对象:存储对象的对象
  • 拓展:len()函数
    • len()函数可以返回对象(列表)的长数(个数)
  • 代码实例:
list1 = [12, 'python', True, None,[1,2.3]]# 排列次序:0,1,2,3、、、、也可以取负数,倒着读取。
print(list1)
print(list1[4])
print(len(list1))
print(list1[-1])

在这里插入图片描述

二、切片

  • 切片:切片是指在现有序列中取出一个子序列,我们可以通过切片获取
  • 语法:list[起始位置:结束位置:步长] 切片下标可以为赋值,为左闭右开区间,步长默认为1
  • 默认语法:[0:最后:1]-----取全部
  • 代码实例:
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
print(hero[0:2])
  • 注:切片不会影响原来的序列,则会生成新的列表
  • 更改步长:
print(hero[-1:-3:-1])
print(hero[-3:-1])

在这里插入图片描述

三、修改列表

3.1 索引

  • 语法:变量[ 下标 ] = 与原有列表相同的元素
  • 语法实例:
    代码1:
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公',[[1,2,3],2,3]]
hero[1] = '郭襄'
print(hero)

代码2:

str1 = 'python'
str1 = list(str1)
str1[1] = 'j'
# str1 = str(str1)
print(str1)

注:[ ]为索引号,索引号中写出列表下标

  • 拓展:
    del list[ ]删除关键字
    语法:del list[索引号]
    实例:
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公',[[1,2,3],2,3]]
del hero[1]
print(hero)
del hero[5][0][2]
print(hero)

在这里插入图片描述

四、列表的修改方法

  • append()向列表的最后一位添加元素、
    语法:list.append()
    实例:
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
hero.append('郭子仪')
print(hero)

在这里插入图片描述

  • insert()向列表中指定位置插入一个元素(第一个参数是下标,第二个参数是元素)
  • 语法:list.insert()
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
hero.insert(2,'郭子仪')
print(hero)

在这里插入图片描述

  • extend()在最后添加新的序列
  • 语法:list.extend()
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
hero.extend(['郭襄','郭子仪'])
print(hero)

在这里插入图片描述

  • clear()清空列表
  • 语法:list.clear()
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
hero.clear()
print(hero)

在这里插入图片描述

  • pop()列表删除
  • 语法:list.pop()
  • 括号内的数值为列表中元素的下标
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
result = hero.pop(1)
print(result,hero)

在这里插入图片描述

  • remove()删除指定元素
  • 语法: list.remove()
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
hero.remove('杨过')
print(hero)

在这里插入图片描述

  • reverse() 列表反转
  • 语法:hero.reverse()
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
hero.reverse()
print(hero)

在这里插入图片描述

  • sort()对列表的元素进行排序,默认是升序
  • 语法:list.sort()
a = list('iuhdlvibsdkjvbigbviulwebcvlisbdcuilhblihv')
a.sort()
print(a)

在这里插入图片描述

五、for循环与range函数

5.1 for循环

  • 作用:遍历容器内的元素
  • 语法:
    for 变量 in 序列:
    代码块
    代码实例:
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
for i in hero:
    print(i)

在这里插入图片描述

5.2 range函数

  • 作用:取数区间内元素到元素减一的所有元素
  • 语法:range(开始位置,结束位置,步长)# 左闭右开区间
    代码实例:
for i in range(9):
    print(i)

在这里插入图片描述

六、通用操作

  • 加法乘法操作
a = [1,2,3]+[4,5,6]
print(a)
a = [1,2,3]*2
print(a)

在这里插入图片描述

  • in 与 not in 操作
  • in :检测元素是否在列表内
  • not in :检测元素不在列表内
    • 代码实例:
a = [1,2,3]
print(1 in a)
print(4 not in a) # 字符串可以用in 或者 not in

在这里插入图片描述

  • max()取最大值
  • min()取最小值
    代码:
# max() # 取最大值
print(max([1,2,3,4,5]))
# min() # 取最小值
print(min([1,2,3,4,5]))

在这里插入图片描述

  • list.index(‘数据’)返回下标索引
    代码:
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公']
print(hero.index('杨过')) # 返回下标索引

在这里插入图片描述

  • list.count(‘元素名’) 获取指定元素在列表中的数量
  • 代码:
hero = ['郭靖','杨过','黄蓉','欧阳锋','洪七公','洪七公','洪七公','洪七公']
print(hero.count('洪七公'))

在这里插入图片描述

七、作业

作业一:

'''
现在有8位老师,三个办公室,要求8位老师随机分配在三个办公室中
'''

代码:

import random # 导入random模块
# 分析数据:
# 1.需要定义一个列表classroom(教室),三个教室,分配八个老师。列表嵌套。
classroom = [[],[],[]]
# 2.定义老师列表
teacher = ['A','B','C','D','E','F','G','H']
i = 0
for i in teacher:# 遍历老师列表
    n = random.randint(0, 2) # 随机生成范围内的整数并赋值给n
    classroom[n].append(i) # append()将老师列表内的数据放置在classroom列表内,将随机数n追加在classroom列表内
k = 1  # k分别是办公室1  2  3
for j in classroom:
    print(f'办公室{k}的人数是{len(j)}人,',end="")    #len()访问列表长度,即列表中数据的个数
    print(f'老师分别是')
    for i in j:                                 #打印每个办公室老师的名字
        print(i)
    k += 1

在这里插入图片描述
作业二:

'''
给用户9次机会猜1-10个数字随机来猜数字。如果随机的数字和用户输入的数字一致,
则表示正确,如果不一致则表示错误,最终结果要求用户怎么猜都不对。
'''

代码:

# 分析过程:
# 1.设置电脑随机数区间
while True:

    print('欢迎大家来到怎么猜都不对的猜数小游戏')
    for com in range(11,21):
        computer = com
        # print(computer)
# 2.设置玩家随机数区间
        man = int(input('请输入1到10:'))
        if man > 10:
            print('输入区间为1到10,你超了!')
        elif man == computer:
            print('恭喜你回答正确!')
        else:
            print('哎呀太难了!怎么还不对啊?')

在这里插入图片描述
作业三:

'''
有两个列表lst1 = [11,22,33]、lst2 = [22,33,44]获取内容相同的元素
'''

代码:

# 分析过程:
# 1.通过通过len()函数返回列表中元素的长度(数量:3)
# 2.通过for in:函数遍历range()函数中的元素(因为数量为3,所以遍历三次)
lst1 = [11,22,33]
lst2 = [22,33,44]

for l1 in range(len(lst1)):
    for l2 in range(len(lst2)):
# 3.通过条件判断对比两次遍历元素,相同输出
        if lst1[l1] == lst2[l2]:
            print(lst1[l1])

在这里插入图片描述
作业四:

'''
现在有a = [1,2,3,4,5,6]不通过函数的形式实现列表的反转([6,5,4,3,2,1])并写出拖到过程
'''

代码:

# 分析过程:
# 通过 list.reverse()
# 代码1:
a = [1,2,3,4,5,6]
a.reverse()
print(a)
# 代码2:
li =[1, 2, 3, 4, 5, 6]
a = list(reversed(li)) #list是列表的意思
print (a)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值