Python中的列表

1. 列表基础知识

1.1 创建列表

可以通过使用方括号 [] 或者 list() 函数来创建一个新的列表。

# 使用方括号创建列表
numbers = [1, 2, 3, 4, 5]

# 使用 list() 函数创建列表
fruits = list(["apple", "banana", "cherry"])

1.2 列表索引

列表中的元素可以通过索引来访问,索引从0开始。

numbers = [1, 2, 3, 4, 5]
print(numbers[0])  # 输出:1
print(numbers[2])  # 输出:3

1.3列表切片

可以通过切片来提取列表中的子列表。

numbers = [1, 2, 3, 4, 5]
print(numbers[1:3])  # 输出:[2, 3]

1.4列表追加

使用 append() 方法向列表末尾添加一个新元素。

numbers = [1, 2, 3, 4, 5]
numbers.append(6)
print(numbers)  # 输出:[1, 2, 3, 4, 5, 6]

1.5 列表插入

使用 insert() 方法在列表的指定位置插入一个新元素。

numbers = [1, 2, 3, 4, 5]
numbers.insert(2, 6)
print(numbers)  # 输出:[1, 2, 6, 3, 4, 5]

1.6 列表删除

使用 remove() 方法删除列表中的指定元素,或者使用 pop() 方法删除指定位置的元素。

numbers = [1, 2, 3, 4, 5]
numbers.remove(3)
print(numbers)  # 输出:[1, 2, 4, 5]

numbers.pop(2)
print(numbers)  # 输出:[1, 2, 5]

1.7 列表长度

使用 len() 函数可以获取列表中元素的数量

numbers = [1, 2, 3, 4, 5]
print(len(numbers))  # 输出:5

2. 可变的列表与不可变的字符串

Python 中有两种不同的数据类型:可变和不可变。

可变对象可以在原地修改,而不会创建一个新的对象。这意味着你可以修改对象的值、添加或删除元素,而不需要改变它的内存地址。Python 中的列表就是可变对象。

不可变对象则不能直接在原地修改,一旦创建就无法更改。任何尝试修改不可变对象的操作都会创建一个新对象。Python 中的字符串就是不可变对象。

2.1 可变的列表

可以在原地修改列表中的元素、添加或删除元素,而不需要改变它的内存地址。下面是一个示例:

my_list = [1, 2, 3]
my_list[0] = 4
print(my_list)  
print(id(my_list))
my_list.append(5)
print(my_list)  
print(id(my_list))
# 结果分别是:
[4, 2, 3]
2491044351360
[4, 2, 3, 5]
2491044351360

在上面的示例中,我们首先将列表 my_list 的第一个元素修改为 4,然后使用 append() 方法向列表末尾添加一个新元素 5。这些操作都是在原地修改列表的,而不需要创建一个新的列表对象。ip地址不变。

2.2 不可变的字符串

字符串是不可变的对象,一旦创建就无法更改。任何尝试修改字符串的操作都会创建一个新的字符串对象,而不是在原地修改。下面是一个示例:

my_str = "hello"
my_str[0] = "H"  # 会报错 TypeError: 'str' object does not support item assignment

在上面的示例中,我们尝试将字符串 my_str 的第一个字符修改为大写字母 H,但是这会导致 TypeError 异常,因为字符串是不可变的对象,不支持在原地修改。

实际上,尽管不能直接修改字符串,但是可以通过创建一个新的字符串来实现相同的效果。例如,可以使用字符串拼接运算符 + 来将两个字符串连接起来:

my_str = "hello"
new_str = "H" + my_str[1:]
print(new_str)  # 输出:Hello

我们首先创建了一个新字符串 new_str,它包含大写字母 H 和字符串 my_str 的所有剩余字符。这样就达到了修改字符串的目的,而不需要改变原始字符串 my_str 的值。

3 列表的遍历

列表遍历是一种常见的操作,它允许我们迭代列表中的每个元素,并对其执行特定的操作。Python 提供了多种方式来遍历列表,

3.1使用 for 循环遍历列表

my_list = [1, 2, 3, 4, 5]
for item in my_list:
    print(item)
# 输出结果:
1
2
3
4
5

在上面的示例中,我们使用 for 循环来遍历列表 my_list 中的每个元素

3.2使用 while 循环遍历列表

我们使用 while 循环来遍历列表 my_list 中的每个元素。我们使用一个计数器 i 来跟踪当前迭代的元素的索引,然后使用 my_list[i] 来访问该元素。每次迭代之后,我们将计数器 i 的值增加1。

my_list = [1, 2, 3, 4, 5]
i = 0
while i < len(my_list):
    print(my_list[i])
    i += 1
#输出结果为:
1
2
3
4
5

3.3 使用列表推导式遍历列表

我们使用列表推导式来创建一个新列表 new_list,该列表包含列表 my_list 中的所有元素。我们使用 item 来表示迭代的当前元素,然后将其添加到新列表中。因为我们没有做任何筛选或转换,所以新列表与原列表完全相同

my_list = [1, 2, 3, 4, 5]
new_list = [item for item in my_list]
print(new_list)
#输出结果为:
[1, 2, 3, 4, 5]

4 列表的操作方法

Python 列表是非常灵活的数据结构,它提供了大量的内置操作方法来处理列表。下面是一些常见的列表操作方法及其用法:

4.1 append()方法

append() 方法用于在列表末尾添加一个元素

my_list = [1, 2, 3]
my_list.append(4)
print(my_list)
# 输出结果为:
[1, 2, 3, 4]

4.2 extend() 方法

extend() 方法用于将一个列表中的所有元素添加到另一个列表中。

my_list = [1, 2, 3]
new_list = [4, 5, 6]
my_list.extend(new_list)
print(my_list)
#运行结果
[1, 2, 3, 4, 5, 6]

4.3insert()方法

insert() 方法用于在列表的指定位置插入一个元素

my_list = [1, 2, 3]
my_list.insert(1, 4)
print(my_list)
#运行结果
[1, 4, 2, 3]

4.4 remove() 方法

remove() 方法用于从列表中删除指定的元素。

my_list = [1, 2, 3, 4]
my_list.remove(2)
print(my_list)
#输出结果为:
[1, 3, 4]

4.5 pop() 方法

pop() 方法用于从列表中删除指定索引位置的元素,并返回该元素的值。如果不指定索引位置,则默认删除列表中的最后一个元素

my_list = [1, 2, 3, 4]
item = my_list.pop(1)
print(item)     # 输出:2
print(my_list)  # 输出:[1, 3, 4]

总之,Python 列表提供了多种操作方法来添加、删除和修改列表中的元素。你可以根据自己的需求和喜好选择最适合自己的方法。无论哪种方法,列表操作都是处理列表中元素的重要步骤。明天见。

你可能感兴趣的:(python,windows,开发语言)