Python 从入门到实战5(列表的其它操作)

news2024/9/19 10:44:10

        我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。

      之前的文章我们通过举例学习了python 中列表的简单操作,今天详细讲述列表剩下的操作,也是经常使用到的。

1、遍历列表

1)使用for 循环来遍历输出列表元素

使用方法: for item in list_name:

           #输出单个元素

小栗子:

poem_all = ["白日依山尽","黄河入海流","欲穷千里目","更上一层楼"]
print(" "+"登鹳雀楼")
for poem_seg in poem_all:
    print(poem_seg)

输出诗句:

2)使用for 循环和enumerate()函数实现

使用for 循环和enumerate()函数可以实现输出索引和元素值

使用方法:

  For index,item in enumerate(listname):

                  #输出 index 和item

参数说明:1、index  为索引

          2、item 保存列表中元素值

          3、listname  列表名

小栗子:

poem_all = ["白日依山尽","黄河入海流","欲穷千里目","更上一层楼"]
print("   "+"登鹳雀楼")
for index,poem_tep in enumerate(poem_all):
    print(index,"", poem_tep)

2、对列表进行统计

Python 中内置了一些函数对列表进行计算。

1)获取列表中某元素出现的次数

使用count方法来计算某元素在列表中出现的次数

用法:list_name.count(要查找的元素)

举个小例子:

lists_num = [1,2,4,5,3,4,6,8,9,0,4,2,3]
print(lists_num.count(4))  #查找4出现的次数

很显然输入的结果是正确的。

2)获取指定元素首次出现的索引位置

使用列表对象的index()方法可以获取指定元素在列表中首次出现的索引值。

使用方法: list_name.index(元素)

举个小例子:

lists_num = [1,2,4,5,3,4,6,8,9,0,4,2,3]
print(lists_num.index(4))

很明显4出现最早的位置的索引是2.

3)计算索引列表的元素之和

使用sum()方法来实现。

使用方法:sum(list_name,start)

参数说明:list_name是指列表名

Start :列表统计的和加上这个对应的值,而不是计算从这个元素开始

举个小例子:

lists_num = [1,2,3,4,5,6,7,8,9,10]
print(sum(lists_num))
print(sum(lists_num,9))  #计算的和加上这个9的值

输出结果:

3、列表的生成

通过列表的推导式可以快速生成一个列表,或者通过某个列表生成满足指定需求的列表。

1)生成指定范围的列表

使用语法: listname = [表达式 for 变量 in range()]

参数说明: listname 生成的列表名称

表达式,用于计算新列表的元素

变量,循环变量

Range 使用range()函数生成的range对象,控制元素的个数,注意range(10) 0-9,10个元素

举个小栗子:

import random
list_random = [random.randint(1,10) for i in range(5)]#1-10的随机数取5个组成列表
print("1-10生成的随机数:",list_random)

2)根据列表生成指定需求的列表

使用语法: newlist=[expression for var in list]

注释:newlist 为新的列表名称

Expression 表达式,用于计算新列表的元素

Var  为变量,循环变量

举个小栗子:

length_mm = [1001,2000,3000,8000,620]  #各个木板的长度,单位毫米
length_m = [float(length_var/1000) for length_var in length_mm]#转换为米的列表
print("原列表除以1000得到了新的长度列表:",length_m)

输出结果:

3)从列表中找出符合条件的元素组成新的列表

使用语法: newlist = [expression for var in list if condition]

注释:newlist 为新的列表名称

Expression 表达式,用于计算新列表的元素

Var  为变量,循环变量

if condition  表示满足某种条件的留下来组成列表

举个例子:偶数留下

num_tem = [2,5,7,8,10,0,9]  #列表数据
num_even = [x for x in num_tem if x%2 ==0] #列表中偶数组成新的列表
print("新的列表:",num_even)

输出结果:

今天先写到这里了,每天进步一点点。今天你加油了吗!

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

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

相关文章

虚拟机输入ip addr不显示IP地址

本机配置 Window10 VMware Workstation 17 CentOS 7 虚拟机输入ip addr查询不到ip地址(下图) 解决办法: 查看配置文件,输入下面命令(用于编辑文件) vi /etc/sysconfig/network-scripts/ifcfg-ens33进入配置配置文件&#xf…

交叉编译 gmp

文章目录 交叉编译 gmp1 概述2 源码下载2.1 官网下载2.2 使用 apt source 下载 3 交叉编译4 关于 DESTDIR 的说明 交叉编译 gmp 1 概述 GMP (GNU Multiple Precision Arithmetic Library) 是一个用于任意精度计算设计的数学库,它的主要目标应用是密码学应用和研究…

ARP协议和DNS的工作原理

ARP协议 ARP协议的工作原理: 首先主机向自己的网络广播发送一个arp请求,请求报文包括目的端的ip地址和目的端的以太网地址。网络上的其他机器收到这个请求,但只有被请求的才会回应一个应答报文,报文中有自己的物理地址。 arp维护了…

【python因果推断库1】协方差分析(ANCOVA)用于处理前/后非等效组设计

目录 生成合成数据 分析 这是一个基于合成数据的初步示例。希望不久之后能用真实研究的数据进行更新。 在只有一次预处理测量和一次后处理测量的情况下,我们可以使用类似于协方差分析(ANCOVA)的方法来分析非等效组设计(NEGD)实验的数据。基本模型是: i指…

Vue(五). 安装脚手架及一些基本配置

文章目录 vue脚手架前言1. 安装脚手架1. 安装nvm2. 使用nvm安装node3. 配置node的全局路径和缓存路径4. 配置npm默认镜像源5. 安装脚手架全局路径和缓存测试 2. 文件结构及项目配置2.1 文件结构2.2 项目基本配置补充. vue项目安装依赖的一个问题 vue脚手架前言 脚手架也叫Vue …

敏捷需求管理,推动敏捷项目成功——Leangoo领歌敏捷工具

在敏捷项目管理中,需求管理是决定项目成功的关键环节。准确捕捉和高效管理需求,不仅能避免项目偏航,还能确保最终交付的产品与客户预期高度契合。Leangoo领歌敏捷工具,正是为此而生,助力团队轻松实现需求管理的每一步。…

vue中使用原生的video播放flv和mp4格式的视频

安装 npm i flv.js html <video v-if"videoId"controls id"videoElement"preload"metadata"controlslist"nodownload noremoteplayback" ><source :type"video/${videoType}" />您的浏览器不支持HTML5视频播…

Ansible一键安装Harbor服务

环境说明 企业内网环境,使用docker-compose的方式安装Harbor服务,需要先安装docker、docker-compose两个服务,将以二进制的方式安装docker和docker-compose,以适配各种安装环境。 docker版本:20.10.21,建议使用20.10以上的版本,低版本的会出现安装异常;Docker-compose版…

记一次ssh伪终端修改为shell

问题 用户ssh进行连接后&#xff0c;默认为伪终端。 解决办法&#xff0c;可以先拿到终端shell&#xff0c;查看用户是否为/bin/bash&#xff1a; 不是/bin/bash&#xff0c;使用如下命令进行修改&#xff1a; chsh -s /bin/bash rootservice sshd restart

在繁忙工作环境中提升开发效率:JetBrains IntelliJ IDEA 的应用

目录 前言1. IntelliJ IDEA 的核心功能1.1 智能代码补全&#xff1a;提升编码效率的利器1.2 深度代码分析&#xff1a;防患于未然1.3 代码重构&#xff1a;保持代码整洁有序 2. 提升团队协作与项目管理2.1 集成版本控制&#xff1a;高效的团队协作2.2 内置任务管理&#xff1a;…

开店到经营,分贝通帮助连锁经营企业这样省钱

如果说大企业的经营核心是做好主营业务的大生意,那么对于连锁经营企业而言,线下门店的一个个小生意,其实也隐藏着“大学问”。费用支出方面,如何从细节处节流,让资金流呈现更良性循环,是连锁经营行业的重要课题。 1、开店前:选址BD全国跑,筐筐发票财务恼 2、日常经营:费用类目…

Qt:玩转QPainter后转之时钟

前言 简单了解了QPainter之后当然是要找两个例子练练手啦。 正文 先看效果图 在绘制之前我们要先构思好自己要绘制的对象可以分成几部分&#xff0c;比如我要绘制时钟的话&#xff0c;我可以分成&#xff1a;外边框(圆环或者圆)&#xff0c;圆形背景&#xff0c;刻度&…

MySQL 使用C语言链接

mysql的基础&#xff0c;我们之前已经学过&#xff0c;后面我们只关心使用 要使用C语言连接mysql&#xff0c;需要使用mysql官网提供的库&#xff0c;大家可以去官网下载 我们使用C接口库来进行连接 要正确使用&#xff0c;我们需要做一些准备工作&#xff1a; 保证mysql服务有…

【WPF】WPF学习之【二】布局学习

WPF布局学习 常用布局Grid网格布局StackPanel 布局CanvasDockPanel布局WrapPanel布局 常用布局 1、StackPanel: 学习如何使用StackPanel进行垂直和水平布局。 2、Grid: 掌握Grid的网格布局技术。 3、Canvas: 了解Canvas的绝对定位布局。 4、DockPanel: 学习DockPanel的停靠…

【加密社】马后炮视角来看以太坊二层战略

阅读正文前先给大家普及下知识&#xff0c;以下文章中提到的 Blobs指的是&#xff1a;"Blob Carriers" 或 "Calldata Blobs" 这是在以太坊网络中用于携带数据的一种方式&#xff0c;尤其是在涉及Rollup&#xff08;如Optimistic Rollup和ZK-Rollup&#xf…

数据结构-复杂度

数据结构&#xff1a;在内存中管理数据&#xff0c;内存速度快&#xff0c;带电存储 数据库&#xff1a;在磁盘中管理数据&#xff0c;磁盘速度慢&#xff0c;不带电存储 时间复杂度 大O的渐进表示法&#xff1a;忽略常数、系数&#xff0c;保留最高次数项 如果只有常数&am…

PMC如何建立有效的监控系统来及时发现生产计划的偏离?

在制造业的复杂生态中&#xff0c;PMC&#xff08;生产与物料控制&#xff09;扮演着至关重要的角色。它不仅是连接销售、生产、采购与库存管理的桥梁&#xff0c;更是确保生产活动高效、有序进行的核心。随着市场需求的快速变化和生产环境的日益复杂&#xff0c;建立一套有效的…

python开发--模板语句

这部分是导航栏部分的代码&#xff0c;由于导航栏在各个页面都需要用&#xff0c;为了提高代码复用率将导航栏部分作为一个模板。 在下面代码图中&#xff0c;红色框部分相当于一个插槽&#xff0c;其他页面&#xff0c;如部门列表、用户列表等将在这个位置展示。 这部分是用户…

docker部署project-exam-system项目(haproxy代理nginx)

1、概述&#xff1a; 即nmt服务&#xff0c;涉及到的服务有&#xff1a;nginx、mysql、tomcat 2、具体配置&#xff1a;(前提&#xff1a;先停掉然后之前运行的容器) 1&#xff09;先创建三个nginx容器 # 端⼝不能映射80 [rootdocker ~]# docker run -itd -v /root/pes/we…

Echarts中国地图省市区县三级联动

NodeV14.20.0安装 # 历史版本Node下载地址 https://nodejs.org/en/download/prebuilt-installer# NodeV14.20.0配置与部署 https://nodejs.org/dist/v14.20.0/node-v14.20.0-x64.msi构建默认Vue3工程目录 npm install -g vue/cli --registryhttps://registry.npm.taobao.org …