python列表

python列表初识

  • 列表 – list – 容器
  • 有序,可变,支持索引
  • 列表:存储数据,支持的数据类型很多 字符串、数字、布尔值、列表、集合、元组、字典
  • 列表的定义
#定义一个列表
lst = ["alex",123,True]
#字符串一个字符算一个元素,列表用逗号分割的算一个元素
print(lst[0])     #alex
print(id(lst[0]))  #2056417919216   id()获取对象的内存地址

在这里插入图片描述

  • 可变性
lst[0] = "dsb"
print(lst)  #['dsb', 123, True]
# 不可变:不能在自己本身上修改
# s = "alex"
# s[0] = "s"
# print(s)  #报错,不可变
s = "alex"
s = "dae"
print(s)  #dae

列表的增删改查

列表的增

  • append(“添加内容”)
lst = ["da", 23, True, "cs"]
lst.append("我的")  #追加(在列表的最后位置添加一个内容)
print(lst)  #['da', 23, True, 'cs', '我的']
  • insert(索引值,“添加的内容”)
lst.insert(2, "sac") #尽量不要使用,当数据量比较大时,影响效率
print(lst) #['da', 23, 'sac', True, 'cs', '我的']
  • extend(“可迭代对象”)
lst.extend("今天好") #迭代添加,因为for循环不允许数字和布尔值,可迭代对象不允许
print(lst) #['da', 23, 'sac', True, 'cs', '我的', '今', '天', '好']

列表的删

  • pop()
 lst.pop() #弹 --- 默认删除最后一个
print(lst) #['da', 23, 'sac', True, 'cs', '我的', '今', '天']
lst.pop(2) #通过指定索引进行删除
print(lst) #['da', 23, True, 'cs', '我的', '今', '天']
  • remove(“元素名称”)

      lst = ["ddd",13,"ddd",98,True]
      lst.remove("ddd") #移除--- 通过元素名称进行删除
      print(lst)  #[13, 'ddd', 98, True]  多个出现,默认删除第一个元素
      
  • del 不仅限于列表

      del lst[0] #通过索引删除     切片,步长均允许
      print(lst)   #['ddd', 98, True]
      del lst
      print(lst) #NameError: name 'lst' is not defined  #删除空间
      
  • clear() 清空
 lst.clear()
 print(lst)      #[]

列表的改

  • 第一种情况

  • lst = ["dsb", 123, "sd", False]
    lst[1] = "dsb"
    print(lst) #['dsb', 'dsb', 'sd', False]
    
  • 第二种情况

  • lst = ["dsb", 123, "sd", False]
    lst[1:2] = "12345"  #可迭代对象
    print(lst) #['dsb', '1', '2', '3', '4', '5', 'sd', False]
    
  • 第三种情况

  • lst = ["dsb", 123, "sd", False]
    lst[1:4] = 1 #TypeError: can only assign an iterable  迭代处理,1为整型 (1,)/1,
    print(lst)
    
  • 第四种情况

  • lst = ["dsb", 123, "sd", False]
    lst[1:4] = 1,2,3,4
    print(lst) #['dsb', 1, 2, 3, 4]
    lst = ["dsb", 123, "sd", False,99]
    lst[1:4:2] = 1,2  #lst[1:4:2] = 1,2,3,4不可以
    print(lst)  #['dsb', 1, 'sd', 2, 99]   步长不为1的必须用一一对应,多一个不行,少一个也不行
    

列表的查

  • for循环

  • lst = ["dsb", 123, "sd", False,99]
    for i in lst:
        print(i)
    
  • 列表的嵌套

    • lst = [1, "a", 3, "b", [2, "c", 4, [9, "e"]]]
      #寻找9
      a = lst[-1]
      b = a[-1]
      print(b[0])
      # print(lst[-1][-1][0])  等效
      

不管什么数据类型进行切片的时候获取的都是源数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acco_30_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值