Python程序设计基础:列表与元组(二)

文章目录

  • 一、数值列表的生成
    • 1、通过input()函数输入创建列表
    • 2、通过list()函数转换
    • 3、列表生成式
    • 4、数值列表的几种统计计算
  • 二、元组
    • 1、元组的定义
    • 2、元组的操作
    • 3、元组作为列表元素
  • 三、转换函数
    • 1、元组和列表之间的转换
    • 2、字符串和列表之间的转换
    • 3、split()方法

一、数值列表的生成

前面介绍列表中的元素主要以字符串为主,而数值列表在日常中的应用也非常广泛,下面讲解几种常见的数值列表的创建方式。

1、通过input()函数输入创建列表

最常见的方式是通过输入设备使用input()函数输入相关数值创建数值列表,但是由于input()函数只能接收字符串,因此需要使用一个eval()函数来进行转换。
在这里插入图片描述

2、通过list()函数转换

在前面有介绍过可以使用range()函数来生成类似[1,2,3,4,5,6]这样的一组数,但是这样一组数是一个range对象,如果要将其转换成列表,则需要使用list()函数对其进行转换。
在这里插入图片描述

3、列表生成式

range()函数除了借用list()函数外,还可以和for循环相结合生成数值列表,即列表生成式,列表生成式的语法格式如下:

列表 = [循环变量表达式 for 循环变量 in range()函数]

上式中,循环变量表达式指包含了循环变量的各种运算,for 循环变量 in range()函数指定了循环变量的变化区间和方式。
在这里插入图片描述

4、数值列表的几种统计计算

针对数值列表,可以使用内置的min()、max()以及sum()函数进行求最小值、最大值以及和。
在这里插入图片描述

二、元组

元组和列表类似,也是用来存放一组相关的数据,二者的不同之处主要有以下两点:

  1. 元组使用圆括号(),列表使用方括号[]。
  2. 元组中的元素不能进行修改。

由于元组中的元素不能修改,因此列表中所有修改元素的操作均不适用于元组。

1、元组的定义

定义元组最直接的方法就是将多个元素用“,”隔开放在一对“()”中,此外不使用“()”直接用“,”隔开也可以定义元组,若定义元组时只有一个元素,在该元素末尾也要加一个“,”,否则视为单个数据。
在这里插入图片描述

2、元组的操作

元组中除了不能修改元素外,其他操作均与列表类似。

操作元组
读元素和列表一致
del命令只支持删除整个元组
len()函数和列表一致
in和not in运算和列表一致
index()方法和列表一致
count()方法和列表一致
遍历元素和列表一致
sorted()函数排序结果为列表
+运算和列表一致
*运算和列表一致
赋值和列表一致
max()函数和列表一致
min()函数和列表一致
sum()函数和列表一致

3、元组作为列表元素

列表中的元素类型是没有限制的,因此元组也可以作为列表中的元素存在。
在这里插入图片描述

三、转换函数

1、元组和列表之间的转换

元组和列表直接可以相互转换,使用tuple()函数可以将列表转换成元组,使用list()函数可以将元组转换成列表。
在这里插入图片描述

2、字符串和列表之间的转换

使用list()函数可以将字符串转换成列表,字符串中的每个元素将作为列表中的每个元素存在。
在这里插入图片描述

3、split()方法

上述使用list()函数直接将字符串转换成列表在大部分时候不符合实际需要,例如如果要对英文语句进行拆分,使用上述方法只会得到单个字母,若想得到每个英文单词,则需要利用空格符对英文语句进行拆分,而split()方法可以实现这一想法。split()方法可以根据指定的分隔符拆分字符串,并生成列表,其语法格式如下:

列表 = 字符串.split(分隔符)

其中分隔符如果缺省的话则默认按照空格对字符串进行拆分。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024考研408-操作系统 第二章-进程与线程 学习笔记

文章目录 前言一、进程1.1、进程的概念、组成与特征1.1.1、进程的概念1.1.2、进程的组成认识PCB认识程序段与数据段(包含进程实体概念) 1.1.3、进程的特征知识回顾与重要考点 1.2、进程的状态、状态间的转换和组织方式1.2.1、进程的状态进程的五种状态详…

RandLA-Net 复现

GPU3090 CUDA12 1、代码 [github地址] git clone --depth1 https://github.com/QingyongHu/RandLA-Net && cd RandLA-Net 2、虚拟环境中配置: 在跑代码的时候出现错误:open3d.so文件中函数报错。查看open3d版本发现不是要求的0.3版本&#xff…

设计模式 ~ 工厂模式

工厂模式 工厂模式是一种设计模式,指在通过使用工厂函数或构造函数来创建对象; 它提供了一种灵活的方式来创建对象实例,而无需直接调用构造函数或使用new关键字; 可以分类,解耦; 可以扩展多个类&#xff0…

【Spring——Spring的基础与创建】

目录 🍧1. 什么是 Spring ? 🫖1.1 容器 🍙1.2 IoC 🥽1.3 汽车类——传统写法 🍘1.4 汽车类——IoC 写法 🌭2. 配置 maven 国内源 🌮2.1 在设置中勾选文件 🍤2.2 在…

【网站建设】HTTP/HTTPS 是什么?有什么区别?

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL,感…

自定义程序包不存在的解决方法

方案一&#xff1a; 在pom文件中加入以下代码 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.4.2</version><configuration><skipTests>true</sk…

openResty的Redis模块踩坑记录

OpenResty提供了操作Redis的模块&#xff0c;我们只要引入该模块就能直接使用。说是这样说&#xff0c;但是实践起来好像并不太顺利。 1.设置了密码的redis&#xff0c;lua业务逻辑中需要添加身份认证代码 网上很多资料、文章似乎都是没有设置redis密码&#xff0c;说来也奇怪…

fileinclude

前提知识&#xff1a; filter伪协议 include函数用php://filter伪协议来绕过 题目&#xff1a; 打开题目 页面显示如图&#xff0c;可以知道flag在flag.php中&#xff0c;还知道当前页面的绝对路径 先查看源代码 15行$lan用$_cookie传参&#xff0c;可以修改cookie值从而控制…

探索非洲专线物流的新时代_国际物流供应链管理平台_箱讯科技

随着全球化的发展&#xff0c;非洲作为一个充满机遇和挑战的大陆&#xff0c;吸引着越来越多的企业和投资者。然而&#xff0c;由于非洲的地理复杂性和基础设施不完善&#xff0c;物流问题一直是制约非洲发展的瓶颈之一。为了解决这一问题&#xff0c;非洲专线物流应运而生。本…

网络原理之传输层与网络层重点协议

目录 传输层重点协议 TCP协议 TCP协议段格式 TCP原理 确认应答机制&#xff08;安全机制&#xff09; 超时重传机制&#xff08;安全机制&#xff09; 连接管理机制&#xff08;安全机制&#xff09; 滑动窗口&#xff08;效率机制&#xff09; 流量控制&#xff08;安…

数字IC笔试面试常考问题及答案汇总(内含各岗位大厂题目)

经历了无数的笔试面试之后&#xff0c;不知道大家有没有发现数字IC的笔试面试还是有很多共通之处和规律可循的。所以一定要掌握笔试面试常考的问题。 数字IC笔试面试常考问题及答案汇总&#xff08;文末可领全部哦~&#xff09; 验证方向&#xff08;部分题目&#xff09; Q1…

数据可视化分析,2023结婚全品类消费趋势洞察报告

结婚消费与人们的关系密切相关。结婚是一个重要的人生事件&#xff0c;往往伴随着大量的消费。人们倾向于在婚礼仪式、婚纱摄影、宴会等方面进行豪华的投资&#xff0c;以展示社会地位和个人品味。此外&#xff0c;结婚还涉及到婚戒、婚庆、蜜月旅行等费用。然而&#xff0c;随…

Jenkins+Robot 接口自动化测试

目录 前言&#xff1a; 设计目标 项目说明 目录结构 配置 jenkins 1.安装插件 2.配置项目 前言&#xff1a; JenkinsRobot是一种常见的接口自动化测试方案&#xff0c;可以实现自动化的接口测试和持续集成。Jenkins是一个流行的持续集成工具&#xff0c;而Robot Framew…

【5G PHY】5G 调制与编码策略(MCS)介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

Cisco学习笔记(CCNA)——Internetworking

Internetworking Internetworking Basics 什么是网络&#xff1f; 计算机网络&#xff1a;具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来 网络设备 Hub&#xff08;集线器&#xff09; 优点&#xff1a;便宜、操作简单 缺点&#xff1a;共享型、…

Kubernetes(K8s)常用命令大全:熟练编排更完美

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

react 升级

1、查看react版本 当前开发项目的react版本从哪里看呢&#xff1f;其实就在package.json文件中&#xff0c;搜索"react"&#xff0c;即可看到版本号 2、输入命令npm info react查看最新的react版本 3、执行命令 npm install --save react18.2.0 react-dom18.2.0 4…

Docker 部署 Jenkins (一)

Docker 部署 Jenkins (一) 一. 安装 jenkins $ mkdir -p /home/tester/data/docker/jenkins $ vim jenkins:lts-jdk11.sh./jenkins:lts-jdk11.sh 内容 #! /bin/bash mkdir -p /home/tester/data/docker/jenkins/jenkins_homesudo chown -R 1000:1000 /home/tester/data/dock…

2023年Java最新面试题

由【后端面试题宝典】提供 和 equals 的区别是什么&#xff1f; 对于基本类型&#xff0c;比较的是值&#xff1b;对于引用类型&#xff0c;比较的是地址&#xff1b;equals不能用于基本类型的比较&#xff1b;如果没有重写equals&#xff0c;equals就相当于&#xff1b;如果重…

基于Javaweb实现ATM机系统开发实战(十一)存储交易记录

首先创建一个业务接口&#xff1a; package com.atm.service;import com.atm.pojo.RunMessage;//交易记录的业务接口 public interface RunMessageService{//添加交易记录public void addRunMessage(RunMessage runMessage) throws Exception ; }再完成业务接口的实现类&#…