Python__11--列表

时间:2022-12-23 16:15:12

1 列表的定义

所谓列表就好像是把一堆数据放在一种特定的容器中,这个容器就称为列表,每个数据叫做元素 ,每个元素都有一个索引来表示它在列表中的位置。 在Python中列表的定义如下:列表是内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开。

2 列表的创建

  1. lst=['hello','world',98]

  2. lst=list(['hello','world',98])

  3. 列表生成式

    lst=[i for i in range(1,10)]

    lst=[i for i in range(1,10)]
    lst2=[i*i for i in range(1,10)]
    print(lst,lst2)
    输出
    [1,2,3,4,5,6,7,8,9]
    [1,4,9,16,25,36,49,64,81]
    

测试代码:

lst=['hello','world',98]
print(lst)
lst=list(['hello','world',98])
print(lst)
lst=[i**6 for i in range(1,10)]
print(lst)
print(lst[-5])

测试结果:

Python__11--列表

内存图(注意观察id),列表中存的是元素的id,通过id定位到元素的全部内容:

Python__11--列表

3 列表的特点

  1. 索引有顺序

    • 左至右0,1,2,3……
    • 右至左-1,-2,-3……
    • 一个索引映射唯一一个数据,一个数据对两个索引(正数和负数的索引)。
  2. 可以包含多类型、数据可重复

测试代码:

lst = [1,2,3,4,5]
print(lst[-5])
print(lst[0])

测试结果:

一个数据对两个索引

Python__11--列表

4 列表元素的查询

测试代码:

lst=['hello','world',98,'hello']
print(lst.index('hello'))
print(lst.index('hello',1,4))

测试结果:

Python__11--列表

print(lst.index('hello'))
输出0,有重复数据,输出第一个
print(lst.index('hello',1,4))
输出3,在索引1、2、3中查找。
  1. 获取单个元素

    • lst[0],0~N-1
    • lst[-1],-N~-1
  2. 获取多个元素

    lst[start:stop:step],不包括stop(前闭后开)

    1. step为正数,从start开始往后计算切片

      • start省略,从0开始
      • stop省略,到最后一个
      • step省略,为1。
      • 如:[::1],[:2:1],[1:5]
    2. step为负数,从start开始往前计算切片,倒序输出。lst[7:0:-1]

      切片的第一个元素默认是列表的最后一个元素,切片的最后一个元素默认是列表的第一个元素

  3. 列表元素是否存在

    in、not

    print(10 in lst)
    print(10 not in lst)
    
  4. 列表的遍历

    for item in lst
    	print(item)