python零基础知识 - 定义列表的三种方式,循环列表索引值

这一小节,我们将从零基础的角度看一下,python都有哪些定义列表的方式,并且循环这个列表的时候,怎么循环,怎么循环他的索引值,怎么拿到的就是元素值。

说完循环,我们会说一说关键的breakcontinue关键操作,以及数组去重有哪些方式。

目录

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 中索引为偶数的元素,并且用分号分隔开。让我们逐行分析一下:

  1. l = [1, 4, 3, 6, 7, 8, 2] 定义了一个包含整数的列表。
  2. for i in range(len(l)): 使用 range(len(l)) 循环遍历列表 l 的索引。
  3. if i % 2 == 0: 检查当前索引 i 是否为偶数
  4. 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)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/691453.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot+logback 详细配置

一、添加依赖 这里使用springboot3.0.2 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency><dependency><groupId>org.projectlombok</grou…

【效率开发】游戏开发Debug效率方法总结

"程序员的一半生命都浪费在了调试上。" ——Brian Kernighan&#xff08;计算机科学家&#xff0c;曾参与开发C语言&#xff09; &#xff08;图片来源&#xff1a;forbesindia&#xff09; Debug无疑是程序员最头疼&#xff0c;也是耗费时间最多的一个环节&#xf…

【linux】详解linux基本指令

目录 cat more less head tail 时间 cal find grep zip/unzip tar bc uname –r 关机 小编一共写了两篇linux基本指令&#xff0c;这两篇涵盖了大部分初学者的必备指令&#xff0c;这是第二篇&#xff0c;第一篇详见http://t.csdnimg.cn/HRlVt cat 适合查看小文…

VP Codeforces Round 944 (Div 4)

感受&#xff1a; A~G 其实都不难&#xff0c;都可以试着补起来。 H看到矩阵就放弃了。 A题&#xff1a; 思路&#xff1a; 打开编译器 代码&#xff1a; #include <iostream> #include <vector> #include <algorithm> #define int long long using na…

一件事做了十年

目录 一、背景二、过程1.贫困山区的心理悲哀2.基础差的客观转变3.对于教育的思考4.持续做这件事在路上5.同行人有很早就完成的&#xff0c;有逐渐放弃的&#xff0c;你应该怎么办&#xff1f;6.回头看&#xff0c;什么才是最终留下的东西? 三、总结 一、背景 在哪里出生我们无…

leetcode刷题指南

本文我将分享给大家一套我自己使用良久并觉得非常高效的 学习论&#xff0c;它可以运用到 Leetcode 上的刷题&#xff0c;也可以 generalize 到生活中涉及到学习以及记忆的方方面面。当然&#xff0c;本文将以 Leetcode 刷题为 case study 去进行讲解。 更具体一点, 我会教大家…

python的import导入规则

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pycharm只能看到当前工作路径父目录下所有文件和项目根目录下所有文件二、sys或者图形界面添加解释器路径&#xff08;搜寻路径&#xff09;三、import导入…

【密码学原语介绍】PPRF(可穿孔伪随机函数)

在现代密码学中&#xff0c;伪随机函数&#xff08;PRF&#xff09;是构建各种加密协议和系统的基石。它们提供了一种方式&#xff0c;通过它&#xff0c;给定一个密钥和一个输入&#xff0c;可以生成一个无法预测的伪随机输出。这种机制对于确保数据加密、身份验证和完整性验证…

通过acl设置阻止数据包通过

实验拓扑和信息如图&#xff08;配置信息参考上一章内容&#xff09; acl设置代码 AR4 系统是视图下 acl 2000 rule 5 deny source 10.10.10.1 0 接口0视图下 数据接收时 traffic-filter inbound acl 2000 测试结果

nacos命名空间的配置

给微服务配置namespace 给微服务配置namespace只能通过修改配置来实现。 例如&#xff0c;修改order-service的application.yml文件&#xff1a; spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZnamespace: 492a7d5d-237b-46a1-a99a-fa8e98e4b0f…

第二步->手撕spring源码之bean操作

本步骤目标 本步骤继续完善 Spring Bean 容器框架的功能开发&#xff0c;在这个开发过程中会用到较多的接口、类、抽象类&#xff0c;它们之间会有类的实现、类的继承。 这一次我们把 Bean 的创建交给容器&#xff0c;而不是我们在调用时候传递一个实例化好的 Bean 对象&#x…

《Fundamentals of Power Electronics》——转换器的传递函数

转换器的工程设计过程主要由以下几个主要步骤组成&#xff1a; 1. 定义了规范和其他设计目标。 2. 提出了一种电路。这是一个创造性的过程&#xff0c;利用了工程师的物理洞察力和经验。 3. 对电路进行了建模。组件和系统的其他部分适当建模&#xff0c;通常使用供应商提供的…