容器:列表、字典、元祖、字符串

容器:列表、字典、元祖、字符串

列表

1、列表:列表是容器型数据类型,将[]作为容器的标志,里面的多个元素用逗号隔开
2、列表是可变的(可变指的是容器中元素的个数和值是可变的——支持增,删,改),列表是有序的(支持下标操作)
3)、元素的要求:任何类型的数据都可以作为列表的元素,同一个列表中元素的类型还可以不一样
score = [86,52,89,78,94,99,68,92,94,83,76,80,75,86,98,100]
print(sum(score))  # 求列表和
print(len(score))  #求列表长度
print(max(score))  #求列表最大值(求列表最小值)

空列表

list = []

列表中元素可以是任意类型

list = [12,14,5.2,"acvf"]

列表是有序的

print([10,20,30] == [30,10,20]) #  False
  • 查单个元素

    语法:列表[下标] :获取指定下标对应的元素

    下标:也叫索引,是列表中位置信息,列表中每个值都有两个索引值,一个从0(第一个)不断往后增加,一个从-1(倒数第一个开始)

    score = [86,52,89,78,94,99,68,92,94,83,76,80,75,86,98,100]
    score = [86,52,89,78,94,99,68,92,94,83,76,80,75,86,98,100]
    print(score[5])
    print(score[-1])
    
  • 切片

    语法: 列表[开始下标:结束下标:步长]

    第一步:确定结果是否为空列表(从开始下标到结束下标的方向和步长对应的方式是否一致,如果方向一致一定不为空,反之结果肯定为空)

    步长为正:表示从前往后走

    步长为负:表示从后往前取

    第二步:确定范围:左闭右开,按照步长的绝对值获取元素

    score = [86,52,89,78,94,99,68,92,94,83,76,80,75,86,98,100]
    print(score[1:10:2])
    print(score[-1:4:1])  #为空
    print(score[0:5:-2])  #为空
    

怎么写切片:1)确定开始下标;2):确定结束位置(左闭右开);3)确定方向

  • 切片的省略写法:

    语法:列表[开始下标:结束下标] print(score[3:7]) 默认步长是1 ;省略开始下标:表示从头开始(看步长的正负,开始下标在第一个或者最后一个)

    score = [86,52,89,78,94,99,68,92,83,76,80,75,86,98,100]
    print(score[::])  #取出整个列表
    print(score[::-1])  #逆序取出列表
    
  • 遍历:一个一个的获取列表中的说以元素

    语法:for i in 列表:

    ​ 循环体

下标遍历:

score = [86,52,89,78,94,99,68,92,83,76,80,75,86,98,100]
for index in range(len(score)):
    print(index,score[index])

同时获取下标和元素 :

语法:for 变量1 ,变量 2 in enumerate(列表):

​ 循环体

score = [86,52,89,78,94,99,68,92,83,76,80,75,86,98,100]
for index, item in enumerate(score):
    print(index , score[index])
列表增,删,改
  • 增: 增加元素

    append(元素) ——在列表的最后增加元素

    insert(元素)——在指定位置添加元素

    extend(列表) ——以列表为元素添加

    score = [68,92,83,75,98,100]
    score.append(99)   #在列表最后面添加一个元素
    
    score.insert(4,888)  #insert(插入的位置,插入的数据)
    ls = [103,23.4,True,"avd","hello",13,"123",False,None]
    
    print(score)
    
    
    score = [68,92,83,75,98,100]
    ls = [103,23.4,True,"avd","hello",13,"123",False,None]
    score.extend(ls)
    print(score)
    
  • 删除

    del 列表[下标]

    score = [68,92,83,75,98,100]
    del score[0]
    print(score)
    

​ 列表.remove(元素) —— 删除指定元素(被删除的元素不存在就会报错);如果被 删除的指定元素有多个,他只会删除第一个。

列表.pop() ——取出列表的最后一个元素并且返回

score = [68,92,83,75,98,100,10,100]
a = score.pop()  #取出最后一个元素并且返回
print(score,a)

列表.pop(下标) ——取出列表指定下标的元素(不是真正意义上的删除,不从内存中删除)

改:列表[下标] = 新的元素

score = [68,92,83,75,98,100,10,100]
score[4] = True
print(score)


结果:
[68, 92, 83, 75, True, 100, 10, 100]

#练习:将60分以下的分数改为重修
score = [68,92,50,75,59,100,10,100]
for index,item in enumerate(score):
    if item <= 60:
        score[index] = "重修"
print(score)

列表相加:将两个列表合并成为一个列表

ls = [1,2,3,46,85,64,8]
score = [68,92,50,75,59,100,10,100]
print(score+ls)

列表 * N 或者N * 列表 ——列表中的元素重复N变产生一个新的列表

ls = [1,2,3,46,85,64,8]* 2
print(ls)

in 判断一个元素是否在指定列表中

ls = [1,2,3,46,85,64,8]* 2
print(10 in ls)
print([1,2,3] in ls)
print(1 in ls)

False
False
True
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值