算法与Python

算法与Python 知识量:10 - 40 - 100

1.3 列表><

定义列表- 1.3.1 -

在Python中,定义列表(list)的方法非常简单。列表是一种有序的集合,可以包含任何类型的元素,包括整数、浮点数、字符串、其他列表等。

以下是定义列表的几种方法:

1. 使用方括号[]:

my_list = [1, 2, 3, "apple", 4.5]

2. 使用list()函数:

my_list = list([1, 2, 3, "apple", 4.5])

这两种方法都会创建一个名为my_list的新列表,其中包含整数1,2,3,"apple"和浮点数4.5。

列表还可以包含其他列表。例如:

nested_list = [1, [2, 3], 4]

在这个例子中,nested_list是一个包含三个元素的列表,其中第二个元素是另一个列表,包含两个整数。

对元素进行操作- 1.3.2 -

Python对列表元素进行操作的方法有很多种,下面列举一些常见的操作:

  • 访问列表元素:通过索引访问列表中的元素,索引从0开始。例如,my_list[0]将返回列表中的第一个元素。

  • 修改列表元素:可以直接通过索引修改列表中的元素。例如,my_list[0] = "new_value"将把列表中的第一个元素修改为"new_value"。

  • 添加元素:可以使用append()方法向列表末尾添加一个元素,或者使用insert()方法在指定位置插入一个元素。例如,my_list.append("new_element")或my_list.insert(0, "new_element")。

  • 删除元素:可以使用remove()方法删除指定值的元素,或者使用pop()方法删除指定索引的元素。例如,my_list.remove("value")或my_list.pop(0)。

  • 排序列表:可以使用sort()方法对列表进行排序,默认升序排序。如果需要降序排序,可以设置参数reverse=True。例如,my_list.sort()或my_list.sort(reverse=True)。

  • 切片操作:可以使用切片操作获取列表中的一部分元素。例如,my_list[1:3]将返回包含第2和第3个元素的子列表。

  • 循环遍历:可以使用for循环遍历列表中的所有元素。例如,for element in my_list: print(element)。

列表的顺序- 1.3.3 -

Python中的列表是一个有序的集合,元素的顺序是按照它们被添加到列表中的顺序排列的。可以使用索引来访问列表中的元素,并且可以通过修改索引位置的值来改变列表中元素的顺序。

如果需要按照特定的顺序排列列表中的元素,可以使用Python内置的sorted()函数或者列表对象的sort()方法。这两个函数都接受一个可选的reverse参数,用于指定排序的方向。默认情况下,sorted()函数和sort()方法按照升序排序,即从小到大。如果将reverse参数设置为True,则按照降序排序,即从大到小。

以下是一个示例,展示如何使用sorted()函数和sort()方法对列表进行排序:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  
  
# 使用 sorted() 函数对列表进行排序  
sorted_list = sorted(my_list)  
print(sorted_list)  # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]  
  
# 使用 sort() 方法对列表进行排序  
my_list.sort()  
print(my_list)  # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

注意:sorted()函数会返回一个新的排序后的列表,而不会改变原始列表。而sort()方法会直接在原列表上进行排序,因此会改变原始列表的顺序。

列表内置函数- 1.3.4 -

Python中的列表(list)是一种有序的集合,可以包含任意类型的元素。列表有许多内置函数和方法,用于执行各种操作。以下是一些常用的列表内置函数:

  • len(list):返回列表的长度(元素个数)。

  • list.append(element):在列表末尾添加一个元素。

  • list.insert(index, element):在指定位置插入一个元素。

  • list.remove(element):删除第一个出现的指定元素。

  • list.pop([index]):删除指定位置的元素并返回该元素的值。

  • list.index(element):返回指定元素在列表中的索引位置。

  • list.count(element):返回列表中指定元素的个数。

  • list.sort([key]):对列表进行排序,可以指定排序的键函数。

  • list.reverse():将列表中的元素反转。

  • list[index]:通过索引访问列表中的元素。

  • list[start:end]:通过切片操作获取列表中的一部分元素。

  • list*:通过重复列表来创建一个新的列表。

截取和拼接列表- 1.3.5 -

在Python中,可以使用多种方法来截取和拼接列表。

1. 截取列表

可以使用切片(slice)操作来截取列表的一部分。例如,如果有一个列表my_list,可以这样截取:

# 截取从第2个元素到第4个元素(不包括第4个元素)  
sublist = my_list[1:4]

这将返回一个新的列表,包含原列表中指定范围内的元素。注意,索引是从0开始的,所以my_list[1]表示第二个元素。

还可以使用负数索引来从列表的末尾开始截取。例如:

# 截取最后三个元素  
last_three = my_list[-3:]

2. 拼接列表

可以使用+运算符或extend()方法来拼接(连接)两个或多个列表。例如:

list1 = [1, 2, 3]  
list2 = [4, 5, 6]  
  
# 使用+运算符拼接列表  
combined = list1 + list2  
print(combined)  # 输出:[1, 2, 3, 4, 5, 6]  
  
# 使用extend()方法拼接列表  
list1.extend(list2)  
print(list1)  # 输出:[1, 2, 3, 4, 5, 6]

使用extend()方法时,原始列表将被修改以包含其他列表的所有元素。如果不想修改原始列表,可以使用+运算符来创建一个新的组合列表。

元组- 1.3.6 -

元组(tuple)是Python中的一种不可变序列类型。元组通常用于表示一组相关的值,其中每个值可以是不同的数据类型(例如,整数、浮点数、字符串等)。

元组与字符串和列表类似,但与字符串不同的是,元组可以包含多个值,并且这些值可以是不同的类型。与列表不同的是,元组是不可变的,一旦创建就不能更改。

以下是创建元组的几种方式:

1. 使用圆括号创建元组:

tup1 = (1, 2, 3)

2. 使用逗号分隔的元素创建元组:

tup2 = 1, 2, 3

3. 使用元组推导式创建元组:

tup3 = [1, 2, 3]  # 列表      
tup4 = tuple(tup3)  # 将列表转换为元组

4. 使用 tuple() 函数创建元组:

tup5 = tuple([1, 2, 3])  # 将列表转换为元组

元组可以使用索引来访问特定元素,索引从0开始。例如:

element = tup1[1]  # 获取第二个元素 2

需要注意的是,由于元组是不可变的,因此不能直接修改元组中的元素。如果需要修改元组中的元素,需要重新创建一个新的元组。

用循环遍历列表- 1.3.7 -

在Python中,可以使用循环结构遍历列表中的元素。以下是一个示例,演示如何使用for循环遍历列表:

my_list = [1, 2, 3, 4, 5]  
  
for element in my_list:  
    print(element)

在这个例子中,for循环用于遍历my_list列表中的每个元素,并将每个元素赋值给变量element。然后,在循环体中,使用print()函数输出每个元素的值。

输出结果如下:

1    
2    
3    
4    
5

除了使用for循环遍历列表外,还可以使用while循环和嵌套循环来实现遍历列表的操作。

字典简介- 1.3.8 -

Python字典(dictionary)是一种可变的数据类型,用于存储键值对。字典中的键必须是唯一的,而值可以是任何类型:数字、字符串、列表、字典等。

字典在Python中常用于存储和组织数据,具有以下特点:

  • 无序性:字典中的键值对是无序的,每次插入或删除元素后,元素在字典中的位置可能会改变。

  • 可变性:可以随时向字典中添加、删除或修改键值对。

  • 唯一性:键在字典中必须是唯一的,但值可以是任何数据类型:数字、字符串、列表、字典等。

  • 键的类型:键必须是不可变的数据类型,如整数、浮点数、字符串、元组等。

创建字典的方式如下:

dict1 = {"key1": "value1", "key2": "value2"}

也可以使用大括号 {} 创建字典:

dict2 = {"key1": "value1", "key2": "value2"}

访问字典中的值,可以通过键来索引:

value = dict1["key1"]  # 返回 "value1"

修改或添加键值对:

dict1["key3"] = "value3"  # 添加新的键值对      
dict1["key4"] = "value4"  # 修改现有键对应的值

删除键值对:

del dict1["key2"]  # 删除键为 "key2" 的键值对

在Python中,字典是非常重要的数据结构,广泛应用于处理各种类型的复杂数据和对象。