Python入门(四)——列表

列表

Python中的列表是一种**可变的序列数据类型**,它允许存储一系列有序的元素,这些元素可以是不同的数据类型,如整数、浮点数、字符串等。列表的特点包括:

  • 索引和切片:可以通过索引访问列表中的单个元素,或通过切片操作获取列表的一部分。
  • 可变性:列表是可变的,这意味着可以在列表中添加、删除或更改元素。
  • 多样的操作:列表支持多种操作,如连接(使用`+`运算符)、重复(使用`*`运算符)以及成员查等。
  • 方法:列表提供了一些内置的方法,如append()用于添加元素,remove()用于删除元素,sort()用于排序列表等。

列表还可以进行嵌套,即一个列表可以包含其他列表作为其元素,这为处理复杂的数据结构提供了便利。

总的来说,列表是Python编程中非常基础且功能强大的数据结构,广泛应用于各种程序设计场景中。

列表的创建

基本语法创建

a_list = ['1', '2', '3', '你好', '001']
b_list = []   # 空列表
print(a_list)
print(b_list)

"""
输出结果
['1', '2', '3', '你好', '001']
[]
"""

list()创建

使用list()可将迭代的数据转化为列表形式

c_list = list()   # 空列表
d_list = list(range(10))
e_list = list("Hello,World!")
print(c_list)
print(d_list)
print(e_list)

"""
输出结果
[]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
['H', 'e', 'l', 'l', 'o', ',', 'W', 'o', 'r', 'l', 'd', '!']
"""

range创建整数序列

range的语法格式为range(start,end,step),start默认为0,step步长默认为1

f_list = list(range(1, 7, 2))
g_list = list(range(16, 3, -2))
print(f_list)
print(g_list)

"""
输出结果
[1, 3, 5]
[16, 14, 12, 10, 8, 6, 4]

"""

列表元素的增加与删除

列表元素的增加与删除在Python编程中扮演着重要的角色,它们使得列表这种数据结构非常灵活和强大。

列表元素的增加

运算符操作
a_list = [30, '你好', 'nihao']
b_list = ['world']
print(a_list+b_list)
print(a_list*3)

"""
输出结果
[30, '你好', 'nihao', 'world']
[30, '你好', 'nihao', 30, '你好', 'nihao', 30, '你好', 'nihao']

"""
append方法

append()方法用于在列表末尾添加新的对象,它没有返回值,但会修改原来的列表。

a_list = list(range(6))
a_list.append(100)
print(a_list)
"""
输出结果
[0, 1, 2, 3, 4, 5, 100]

"""
extend操作

extend()方法用于将一个可迭代对象的所有元素添加到列表的末尾。它没有返回值,但会修改原来的列表。

a_list = list(range(8))
print(a_list)
b_list = [100, 200]
c = 'nihao'
a_list.extend(b_list)
print(a_list)
a_list.extend(c)
print(a_list)
"""
输出结果
[0, 1, 2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6, 7, 100, 200]
[0, 1, 2, 3, 4, 5, 6, 7, 100, 200, 'n', 'i', 'h', 'a', 'o']
"""

需要注意的是,extend()方法可以接受任意数量的参数,而不仅仅是一个。这意味着可以使用多个参数来一次性添加多个元素。

append()方法不同,extend()方法可以处理不同类型的元素,包括字符串、整数、浮点数、列表甚至其他更复杂的数据类型。

insert()操作

insert(index,object)方法用于在列表的指定位置插入一个元素。它接受两个参数:

  1. index:要插入元素的索引位置(索引从0开始)。
  2. object:要插入的元素。

该方法会在指定的索引处插入给定的对象,并将该位置及之后的所有元素向右移动一位。如果指定的索引超过了列表的长度,那么元素将被添加到列表的末尾。

fruits = ['apple', 'banana', 'cherry']
fruits.insert(1, 'orange')
print(fruits)
"""
输出结果
['apple', 'orange', 'banana', 'cherry']
"""

列表元素的删除

del删除

删除指定位置元素,用法为del list[index]

a_list = [1, 2, 3, 23, 'nihao', '你好']
del a_list[2]
print(a_list)
"""
输出结果
[1, 2, 23, 'nihao', '你好']

"""
pop()方法

pop()方法用于移除列表中的一个元素,并返回该元素的值。它接受一个可选参数index,表示要移除元素的索引位置,默认值为-1,即移除并返回列表的最后一个元素。

  • 移除最后一个元素:当不传入任何参数时,pop()会移除列表的最后一个元素,并返回该元素的值
a_list = list(range(15))
print(a_list.pop())
a_list.pop()
print(a_list)
"""
输出结果

14
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
"""
  • 移除指定索引的元素:可以通过传入一个整数索引来移除列表中特定位置的元素。
a_list = list(range(15))
print(a_list.pop(2))
a_list.pop(2)
print(a_list)
"""
输出结果
2
[0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
"""

remove()方法

remove() 是 Python 列表(list)的一个方法,用于移除列表中第一个匹配的元素。如果元素不存在于列表中,则会引发 ValueError 异常。

a_list = [1,2,3,4,1,2,3,4,1,2,3,4]
a_list.remove(3)
print(a_list)
"""
输出结果
[1, 2, 4, 1, 2, 3, 4, 1, 2, 3, 4]
"""

列表元素的访问与计数

通过索引直接访问元素

超出索引会报错

a_list = list(range(10))
print(a_list[3])

# 输出结果:3

index()通过指定元素获取索引

作用是获得指定元素首次出现的索引位置,具体语法index(value,start,end)

a_list = [10, 20, 30, 40]
b_list = a_list*3
print(b_list.index(20))
# 从3开始索引
print(b_list.index(20, 3))
# 索引范围是8到11
print(b_list.index(20, 8, 11))
"""
输出结果:
1
5
9
"""

count()获得指定元素在列表中的次数

a_list = [1, 2, 3, 1, 2, 3, 1, 2, 3]
print(a_list.count(2))
# 输出结果为:3

len()返回列表长度 

a_list = [1, 2, 3, 'nihao', '你']
b_list = a_list*3
print(len(a_list))
print(len(b_list))

"""
输出结果
5
15
"""

成员资格判断 

在Python中,成员资格判断是用来确定一个元素是否存在于某个列表(或其他可迭代对象)中。这可以通过使用in关键字或not in关键字来实现。

使用 in关键字

当你想检查一个元素是否在列表中时,可以使用in关键字。如果元素存在于列表中,表达式会返回True;如果不存在,则返回False。

my_list = [1, 2, 3, 4, 5]
print(2 in my_list)
print(6 in my_list)
"""
输出结果:
True
False
"""

使用 not in 关键字

相反地,如果你想检查一个元素是否不在列表中,可以使用not in关键字。

my_list = [1, 2, 3, 4, 5]
print(2 not in my_list)
print(6 not in my_list)
"""
输出结果:
False
True

这些成员资格操作对于处理列表中的数据非常实用,尤其是在你需要根据元素的值来做出决策的时候。它们也适用于其他类型的集合,如元组、字典和集合等。

切片操作

其格式为[start:end:step]

my_list = list(range(15))
print(my_list)
# 提取整个列表
print(my_list[:])
# 提取后10位
print(my_list[5:])
# 提取第3位直到第8位
print(my_list[2:8])
# # 提取第3位直到第8位(以2为步长)
print(my_list[2:8:2])
# 从最后一位提取到第二位
print(my_list[15:0:-1])
"""
输出结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[2, 3, 4, 5, 6, 7]
[2, 4, 6]
[14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
"""

  • 54
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值