这一小节,我们将从零基础的角度看一下,python都有哪些定义列表的方式,并且循环这个列表的时候,怎么循环,怎么循环他的索引值,怎么拿到的就是元素值。
说完循环,我们会说一说关键的break和continue关键操作,以及数组去重有哪些方式。
目录
1 定义列表的三种方式
1.1 第一种 列表推导式
1.2 list()构造函数
1.3 中括号直接定义
2 循环一个列表
2.1 简单的循环一下
2.2 循环索引值
3 break和continue不要忘记
4 关于数组去重
4.1 set去重
4.2 列表推导式
4.3 循环方法
1 定义列表的三种方式
1.1 第一种 列表推导式
列表推导式提供了一种简洁的方法来创建列表,它可以根据一个表达式来生成列表的元素。语法是在一个方括号内放置一个表达式,后跟一个 for
循环,然后可能还有零个或多个 if
条件。例如:
# 创建一个包含1到5的平方的列表
squares = [x**2 for x in range(1, 6)]
# 输出:[1, 4, 9, 16, 25]
1.2 list()构造函数
list()
构造函数可以接受一个可迭代对象(如字符串、元组或其他可迭代对象)作为参数,并将其转换为一个列表。例如:
# 使用list()构造函数将字符串转换为列表
char_list = list("hello")
# 输出:['h', 'e', 'l', 'l', 'o']
1.3 中括号直接定义
最常用的就是实用中括号直接定义一个列表,来定义一个列表。列表是一个有序的可变容器,它可以包含任意数量和类型的元素。以下是定义一个列表的示例:
my_list = [1, 2, 3, 4, 5]
或者是
mixed_list = [1, "hello", 3.14, True]
2 循环一个列表
循环列表,拿到的是元素值,我们还可以循环索引值
2.1 简单的循环一下
直接使用 for
循环来遍历列表中的元素,而不需要使用索引。在Python中,你可以像这样遍历列表:
l = [1, 4, 3, 6, 7, 8, 2]
for item in l:
print(item, end=";")
2.2 循环索引值
l = [1, 4, 3, 6, 7, 8, 2]
for i in range(len(l)):
if i % 2 == 0:
print(l[i], end=";")
这段代码会输出列表 l
中索引为偶数的元素,并且用分号分隔开。让我们逐行分析一下:
l = [1, 4, 3, 6, 7, 8, 2]
定义了一个包含整数的列表。for i in range(len(l)):
使用range(len(l))
循环遍历列表l
的索引。if i % 2 == 0:
检查当前索引i
是否为偶数。print(l[i], end=";")
如果当前索引为偶数,则打印列表l
中对应索引的元素,并用分号结尾。
因此,代码将会输出列表 l
中索引为偶数的元素,用分号分隔开。在这种情况下,输出将会是:1;3;7;2;
3 break和continue不要忘记
我发现很多开发人员,特别不喜欢加这两个基础内容,找到自己喜欢的值就算写完了,但其实关键时刻break掉循环还是挺重要的,基本写法如下:
# 示例列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 使用 break 来提前退出循环
print("使用 break 来提前退出循环:")
for number in numbers:
if number == 6:
break # 当数字为 6 时退出循环
print(number)
# 使用 continue 来跳过某些循环迭代
print("\n使用 continue 来跳过某些循环迭代:")
for number in numbers:
if number % 2 == 0:
continue # 如果数字为偶数,则跳过后续代码,进行下一次迭代
print(number)
4 关于数组去重
4.1 set去重
可以使用 Python 的集合(set)来实现。集合是一种无序且不重复的数据类型,因此将列表转换为集合后,所有重复的元素都会被自动去除。然后你可以将结果转换回列表。
def remove_duplicates(lst):
# 将列表转换为集合,去除重复元素
unique_set = set(lst)
# 将集合转换回列表,保持原始顺序
unique_list = list(unique_set)
return unique_list
# 测试方法
original_list = [1, 2, 3, 4, 1, 2, 5, 6, 3]
result_list = remove_duplicates(original_list)
print("原始列表:", original_list)
print("去重后的列表:", result_list)
4.2 列表推导式
在这个方法中,dict.fromkeys()
方法将列表中的元素作为字典的键,创建一个字典,由于字典的键是唯一的,这样就自动去除了重复元素。然后使用 list()
方法将字典的键转换回列表。
def remove_duplicates(lst):
return list(dict.fromkeys(lst))
# 测试方法
original_list = [1, 2, 3, 4, 1, 2, 5, 6, 3]
result_list = remove_duplicates(original_list)
print("原始列表:", original_list)
print("去重后的列表:", result_list)
4.3 循环方法
使用一个额外的空列表 unique_list
,遍历原始列表中的每个元素,如果元素不在 unique_list
中,则将其添加到 unique_list
中。这样就保证了 unique_list
中的元素是唯一的。
def remove_duplicates(lst):
unique_list = []
for item in lst:
if item not in unique_list:
unique_list.append(item)
return unique_list
# 测试方法
original_list = [1, 2, 3, 4, 1, 2, 5, 6, 3]
result_list = remove_duplicates(original_list)
print("原始列表:", original_list)
print("去重后的列表:", result_list)