Python(四十七)列表对象的创建

news2024/9/25 11:20:47

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。
☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无论你是学生、职场人士还是对编程感兴趣的爱好者,都能从中受益。跟着我的学习笔记一起学习python吧。
🌙专栏目标:本专栏的目标是帮助我自己记忆、方便回顾所学知识以及帮助其他想学习python的小伙伴掌握Python编程语言的基本概念和技巧,并逐步提高我们的编程能力。通过这个专栏,我们将学会如何编写Python代码,理解各种数据类型、控制结构和函数,掌握常用的Python模块和库,以及应用Python解决实际问题。

⭐️ 专栏主要内容: 主要学习python的开发环境搭建;Python的基础知识,包括变量、数据类型、条件语句和循环等;python的数据结构和算法;python的函数和模块;python的文件处理等。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:从零开始的Python入门之路

在这里插入图片描述

文章目录

    • 引言
    • 列表的创建方式
      • 使用方括号创建列表
      • 使用list()函数创建列表
      • 使用列表解析创建列表
    • 创建列表对象的实例
    • 总结

引言

列表(List)是Python中常用的数据结构之一,它可以存储多个元素,并且可以根据需要进行动态调整。在本小节中,我将详细介绍列表的创建方式,并通过示例代码演示每种方式的使用方法和运行结果。

列表的创建方式

Python提供了多种创建列表的方式,下面将介绍三种常用的方式:使用方括号创建列表、使用list()函数创建列表以及使用列表解析创建列表。

使用方括号创建列表

使用方括号([])是创建列表最简单的方式之一,我们可以直接在方括号中添加元素,并用逗号分隔。下面是一个使用方括号创建列表的示例代码:

# 创建一个包含整数的列表
numbers = [1, 2, 3, 4, 5]

# 创建一个包含字符串的列表
fruits = ['apple', 'banana', 'orange']

# 创建一个包含不同类型元素的列表
mixed = [1, 'apple', True, 3.14]

# 创建一个空列表
empty_list = []

在上面的示例代码中,我们分别创建了包含整数、字符串、不同类型元素以及空列表的示例。在方括号中,我们可以添加任意类型的元素,并且元素之间用逗号分隔。

运行结果:

numbers: [1, 2, 3, 4, 5]
fruits: ['apple', 'banana', 'orange']
mixed: [1, 'apple', True, 3.14]
empty_list: []

使用方括号创建列表非常简单直观,适用于已知元素的情况。

使用list()函数创建列表

除了使用方括号,我们还可以使用内置的list()函数来创建列表。list()函数可以接受一个可迭代对象作为参数,并将其转换为列表。下面是一个使用list()函数创建列表的示例代码:

# 创建一个包含字符串的列表
fruits = list('apple')

# 创建一个包含范围内整数的列表
numbers = list(range(1, 6))

# 创建一个包含元组的列表
pairs = list((1, 2), (3, 4), (5, 6))

# 创建一个空列表
empty_list = list()

在上面的示例代码中,我们使用list()函数分别创建了包含字符串、范围内整数和元组的列表,同时也创建了一个空列表。list()函数可以将字符串、元组、集合、字典等可迭代对象转换为列表。

运行结果:

fruits: ['a', 'p', 'p', 'l', 'e']
numbers: [1, 2, 3, 4, 5]
pairs: [(1, 2), (3, 4), (5, 6)]
empty_list: []

使用list()函数创建列表可以方便地将其他可迭代对象转换为列表。

使用列表解析创建列表

列表解析(List Comprehension)是一种简洁而强大的方式,可以快速创建列表,并且可以在创建过程中进行条件筛选和元素变换。下面是一个使用列表解析创建列表的示例代码:

# 创建一个包含范围内偶数的列表
even_numbers = [x for x in range(1, 11) if x % 2 == 0]

# 创建一个包含字符串的列表,将字符串转换为大写
uppercase_fruits = [fruit.upper() for fruit in ['apple', 'banana', 'orange']]

# 创建一个包含元组的列表,将元组中的元素相加
sum_pairs = [(x, y, x + y) for x in range(1, 4) for y in range(4, 7)]

# 创建一个空列表
empty_list = []

在上面的示例代码中,我们使用列表解析分别创建了包含范围内偶数、字符串转换为大写以及元组元素相加的列表,同时也创建了一个空列表。列表解析的语法为[表达式 for 变量 in 可迭代对象 if 条件],可以根据需要灵活地进行元素筛选和变换。

运行结果:

even_numbers: [2, 4, 6, 8, 10]
uppercase_fruits: ['APPLE', 'BANANA', 'ORANGE']
sum_pairs: [(1, 4, 5), (1, 5, 6), (1, 6, 7), (2, 4, 6), (2, 5, 7), (2, 6, 8), (3, 4, 7), (3, 5, 8), (3, 6, 9)]
empty_list: []

使用列表解析可以简洁地创建满足条件的列表,并且可以进行元素的变换和筛选。

创建列表对象的实例

在实际应用中,我们经常需要创建列表对象来存储和处理数据。下面是一个创建列表对象的实例,用于存储学生的成绩,并计算平均分:

# 创建一个包含学生成绩的列表
scores = [85, 92, 78, 90, 88]

# 计算平均分
average = sum(scores) / len(scores)

# 打印结果
print("学生成绩:", scores)
print("平均分:", average)

运行结果:

学生成绩: [85, 92, 78, 90, 88]
平均分: 86.6

在上面的示例代码中,我们创建了一个包含学生成绩的列表,并使用sum()函数计算了成绩的总和,然后除以列表的长度得到平均分。

总结

本小节详细介绍了Python列表对象的创建方式,包括使用方括号、list()函数和列表解析。使用方括号创建列表简单直观,适用于已知元素的情况;list()函数可以将其他可迭代对象转换为列表;列表解析提供了一种简洁而强大的方式,可以快速创建满足条件的列表。在实际应用中,我们可以根据需要选择合适的方式来创建列表对象,并进行相应的数据处理和操作。

参考链接:

  • Python列表文档
  • Python列表解析教程

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JiaYu说:如何做好IT类的技术面试?

IT类的技术面试 面试IT公司的小技巧IT技术面试常见的问题嵌入式技术面试嵌入式技术面试常见的问题嵌入式软件/硬件面试题 JiaYu归属嵌入式行业,所以这里只是以普通程序员的角度去分析技术面试的技巧 当然,也对嵌入式技术面试做了小总结,友友们…

python 源码中 PyId_stdout 如何定义的

python 源代码中遇到一个变量名 PyId_stdout,搜不到在哪里定义的,如下只能搜到引用的位置(python3.8.10): 找了半天发现是用宏来构造的声明语句: // filepath: Include/cpython/object.h typedef struct …

MIPI D-PHY 2.1协议(学习笔记)

1~3 简介/术语/参考文档 这三章属于介绍性内容,包括缩略语等名词术语解释内容,不再赘述。 直接进入以下正文部分 4 D-PHY概述 D-PHY描述了一种Source同步、高速、低功耗、低成本的PHY,特别适用于移动应用。这个D-PHY规范主要是为了将相机…

持续部署CICD

目录 (1)CICD的开展场景 (2)项目实际应用 CICD 是持续集成(Continuous Integration)和持续部署(Continuous Deployment)简称。指在研发过程中自动执行一系列脚本来降低开发引入 bug…

【雕爷学编程】Arduino动手做(175)---机智云ESP8266开发板模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

【KVC补充 Objective-C语言】

一、KVC补充 好,那么接下来,再给大家说一下这个KVC 1.首先我们说,这个KVC,就是指的什么 key value coding 吧 全称就是叫做(Key Value Coding),这是它的全称 那么,你在帮助文档里面搜的时候,你就搜key-value coding 是不是这个啊,key-value coding 然后点击,进…

HashMap中hash方法的作用(详解)

首先,hash方法用来干什么? 在搞清楚原理之前,我们先站在巨人的肩膀浅浅了解一下hash方法的本质作用。 实质上,它的作用很朴素,就是用key值通过某种方式计算出一个hash码 而且这个hash码我们后面要用来计算key存在底…

数据链路层是如何传递数据的

数据链路层是如何传递数据的 数据链路层功能概述封装成帧透明传输差错控制 数据链路层功能概述 数据链路层的主要作用就是加强物理层传输原始比特流的功能。其负责将物理层提供的可能出错的物理连接,改造成逻辑上无差错的数据链路。 数据链路层包括三个基本问题&a…

ICML 2023 | 拓展机器学习的边界

编者按:如今,机器学习已成为人类未来发展的焦点领域,如何进一步拓展机器学习技术和理论的边界,是一个极富挑战性的重要话题。7月23日至29日,第四十届国际机器学习大会 ICML 2023 在美国夏威夷举行。该大会是由国际机器…

Go语言学习笔记(狂神说)

Go语言学习笔记(狂神说) 视频地址:https://www.bilibili.com/video/BV1ae41157o9 1、聊聊Go语言的历史 聊聊Go语言的历史-KuangStudy-文章 2、Go语言能做什么 下面列举的是原生使用Go语言进行开发的部分项目。 Docker Docker 是一种操作…

【雕爷学编程】Arduino动手做(99)---8X32 LED点阵屏模块4

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

vba案例1:合并工作簿,工作表

一:放文件 我应该有把文件资源放上去,第一次弄,不知道你们那边能不能看到excel的电子档表格,没有看到,教教我怎么放上去哦 二:自定义代码规整(便于查看) 接下来,我们进行代码解释…

数学建模学习(6):数学建模数据预处理专题

1 数据预处理是什么? 在数学建模赛题中,官方给所有参赛选手的数据可能受到主 观或客观条件的影响有一定的问题,如果不进行数据的处理而直 接使用的话可能对最终的结果造成一定的影响,因此为了保证数 据的真实性和建模结果的可靠…

简单理解大模型参数高效微调中的LoRA(Low-Rank Adaptation)

[论文地址] [代码] [ICLR 22] 阅前须知:本博文可能有描述不准确/过度简化/出错的地方,仅供参考。 网络结构 其中,原有模型的参数是直接冻结的,可训练参数只有额外引入的LoRA参数(由nn.Parameter实现)。 模型微调的本质 记网络原…

MySQL数据库——DML基本操作

文章目录 前言插入数据全列插入指定列插入 修改数据删除数据 前言 前面我们学习了MySQL——DDL操作,对数据库和表的结构的操作,那么今天我将为大家分享MySQL——DML操作,对表数据的操作。 MySQL DML操作有以下几种: 插入操作&am…

opencv-28 自适应阈值处理-cv2.adaptiveThreshold()

什么是自适应阈值处理? 对于色彩均衡的图像,直接使用一个阈值就能完成对图像的阈值化处理。但是,有时图像的色彩是不均衡的,此时如果只使用一个阈值,就无法得到清晰有效的阈值分割结果图像。 有一种改进的阈值处理技术&#xff…

【六大锁策略-各种锁的对比-Java中的Synchronized锁和ReentrantLock锁的特点分析-以及加锁的合适时机】

系列文章目录 文章目录 系列文章目录前言一、六大"有锁策略"1. 乐观锁——悲观锁2. 轻量级锁——重量级锁3. 自旋锁——挂起等待锁4. 互斥锁——读写锁5. 可重入锁——不可重入锁6. 公平锁——非公平锁 二、Synchronized——ReentrantLockSynchronized的特点&#xf…

掌握Python的X篇_13_Python条件语句实例:判断闰年、成绩评定

前面学习了条件语句以及调试的基本技巧,本篇介绍两个与条件语句有关的实例,对前面的知识又深刻认识。 文章目录 1. 判断闰年1.1 版本11.2 版本21.3 一行代码太长的处理方法 2. 根据成绩评级 1. 判断闰年 用户输入年份,判断该年份是否为闰年…

相对位置编码和绝对位置编码

位置编码的区别: 相对位置编码和绝对位置编码是两种不同的位置编码方法。 绝对位置编码是一种基于位置嵌入的方法,其中每个位置都被分配了一个唯一的位置向量。这些向量是固定的,与输入序列的内容无关。这种编码方式对于处理较短的序列效果…

【图论】树上差分(点差分)

一.题目 输入样例: 5 10 3 4 1 5 4 2 5 4 5 4 5 4 3 5 4 3 4 3 1 3 3 5 5 4 1 5 3 4 输出样例:9 二 .分析 我们可以先建一棵树 但我们发现,这样会超时。 所以,我们想到树上差分 三.代码 /* 5 10 3 4 1 5 4 2 5 4 5 4 5 4 3 5 …