【python基础】列表list

列表list

1、列表的定义

列表类型是包含0个或多个元素的有序序列,属于序列类型。

列表可以进行元素的增加、删除、替换、查找等操作。列表没有长度限制,无素类型可以不同,不需要预定长度。

列表类型用中括号[]表示,也可以通过list(x)函数将集合或字符串类型转换成列表类型。list()函数可生成空列表。

列表需要使用中括号[],元素之间使用英文的逗号进行分隔

列表的创建方式:

  1. 使用[]方括号

    lst = ['hello', 'world', 'java']
    print(lst)  # ['hello', 'world', 'java']
    
  2. 使用内置函数list()

    lst2 = list(['hello', 'world', 'java'] + ['hello', 'world', 'java'])
    print(lst2)  # ['hello', 'world', 'java', 'hello', 'world', 'java']
    
  3. 列表生成式

    lst = [i for i in range(1, 11)]
    print(lst)  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
  4. 创建空列表

    list=[]
    print(list)
    

2、列表的特点

  1. 列表元素按顺序有序排列
  2. 索引映射唯一一个数据
  3. 列表可以存储重复数据
  4. 任意数据类型混存
  5. 根据需要动态分配内存空间

3、列表的索引(查找)

索引是列表的基本操作,用于获得列表第一个元素。

该操作沿用序列类型的索引方式,即正向递增序号和反向递减序号,使用中括号作为索引操作符,索引序号不能超过列表的元素范围,否则会产生IndexErrorr的错误。

  1. 获取列表中指定元素索引

    语法:列表或列表变量.index('要获取索引的元素',起始位置,结束位置)

    # 如果列表中含有相同元素,只返回相同元素的第一个元素的索引
    
    lst = ['hello', 'world', 'java', 'hello', 'world', 'java']
    print(lst.index('java'))  # 2
    print(lst.index('java', 3, 6))  # 5
    
  2. 列表类型的元素进行遍历操作

    语法:for 迭代变量 in 列表名:

    # 列表元素的遍历
    
    lst = [10, 20, 30, 40, 50, 60, 70, 80]
    for i in lst:
        print(i)
    

4、列表的切片

切片是列表的基本操作,用于获得列表的一个片段,即获得零个或多个元素。切片后的结果也是列表类型。
切片有两种使用方式:

  • 列表或列表变量[N:M]
  • 列表或列表变量[N:M:K]
lst = ['hello', 'world', 'java', 'hello', 'world', 'java']

'''获取单个元素'''
# 获取列表索引为 2的元素
print(lst[2])  # java

# 获取列表索引为-3的元素
print(lst[-3])  # hello

'''获取多个元素   返回值为一个列表'''
# lst = [start(默认0开始) : stop(默认最后) : step(默认步长1)]
# step 为负数时相反

print(lst[0:5:1])
# ['hello', 'world', 'java', 'hello', 'world']

5、列表元素的增加

方法描述
ls.append(x)在列表ls末尾添加一个元素x
ls.insert(i, x)在列表ls的第i个位置增加一个元素x
ls.extend()在列表ls末尾添加至少一个元素
lst = [10, 20]
lst1 = ['hello', 'world']
print(lst)  # [10, 20]

# 1. append(要添加的元素)  在列表末尾添加一个元素
lst.append(100)
print(lst)  # [10, 20, 100]

lst.append(lst1)
print(lst)  # [10, 20, 100, ['hello', 'world']]

# 2. extend() 在列表末尾至少添加一个元素
lst.extend(lst1)  # [10, 20, 100, ['hello', 'world'], 'hello', 'world']
print(lst)

# 3. insert(索引, 要添加的对象)在任意(指定索引)位置添加一个元素
lst.insert(4, 'python')
print(lst)  # [10, 20, 100, ['hello', 'world'], 'python', 'hello', 'world']

lst.insert(4, lst1)
print(lst)  # [10, 20, 100, ['hello', 'world'], ['hello', 'world'], 'python', 'hello', 'world']

6、列表元素的删除

方法描述
ls.remove(x)将列表中出现的第一个元素x删除
pop()删除一个指定索引位置上的元素,不指定索引删除最后一个元素
clear()清空列表
del删除列表
lst = [10, 20, 30, 20, 40, 50, 60, 70, 80, 90]
# 1. remove(要移除的元素)  从列表中移除一个元素,重复只删一个,元素不存抛异常
lst.remove(20)
print(lst)  # [10, 30, 20, 40, 50, 60, 70, 80, 90]

# 2. pop(索引)  删除一个指定索引上的元素,不指定索引删除最后一个元素,指定索引不存在抛异常
lst.pop(7)
print(lst)  # [10, 30, 20, 40, 50, 60, 70, 90]
lst.pop()
print(lst)  # [10, 30, 20, 40, 50, 60, 70]

# 4. clear 清空列表
lst.clear()
print(lst)  # []

7、 列表元素的修改

# 为指定索引的元素赋予一个新值
lst = [10, 20, 30, 40]
lst[2] = 100
print(lst) #[10, 20, 100, 40]

8、列表元素的排序

  1. sort()方法
  2. 内置函数sorted()
# 1.调用 sort()方法,sort()方法默认是 升序 排序,在调用该方法后,列表中的元素会按照从小到大的顺序排列
lst = [23, 46, 67, 12, 8, 27]
lst.sort()
print(lst)  # [8, 12, 23, 27, 46, 67]

# 2.如果我们想让其降序 排序,则可以通过指定关键字参数reverse
lst = [20, 40, 10, 98, 54]
print('排序前的列表', lst)  # 排序前的列表 [20, 40, 10, 98, 54]

lst.sort(reverse=True)
print('排序后的列表', lst)  # 排序后的列表 [98, 54, 40, 20, 10]
# 升序
lst.sort(reverse=False)
print('排序后的列表', lst)  # 排序后的列表 [10, 20, 40, 54, 98]

# 使用内置函数 sorted() 对列表进行排序,将产生一个新的对象
lst = [20, 40, 10, 98, 54]
print(sorted(lst))  # 未指定升序 [10, 20, 40, 54, 98]
print(sorted(lst, reverse=True))  # 指定降序[98, 54, 40, 20, 10]

9、列表的操作方法

方法描述
ls.reverse()将列表ls中的元素反转
ls.copy()生成一个新列表,复制ls中的所有元素
ls = [1, 2, 3, 4, 5, 6, 7]
ls.reverse()
print(ls)  # [7, 6, 5, 4, 3, 2, 1]
a = ls.copy()
print(a)  # [7, 6, 5, 4, 3, 2, 1]
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

木子曰京习习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值