当前位置: 首页 > news >正文

Python编程从入门到实践练习第三章:列表简介

目录

  • 一、字符串
    • 1.1 在字符串中使用变量
  • 二、列表
    • 2.1 遍历列表
      • 练习题
      • 代码
    • 2.2 列表元素的插入和删除
      • 涉及方法
      • 练习题
      • 代码
    • 2.3 组织列表
      • 涉及方法
      • 练习题
      • 代码
    • 2.4 索引

参考书:Python从入门到实践(第二版)

一、字符串

1.1 在字符串中使用变量

f “{ 变量名 }”

f代表format,Python把花括号里的变量名替换为其值来设置字符串的格式。(Python3.6引入)

代码示例:

first_name = input("Your first name is: ")
last_name = input("Your last name is : ")
full_name = f"{first_name} {last_name}"
print(f"My name is {full_name.title()}")

在这里插入图片描述

二、列表

2.1 遍历列表

练习题

将一些朋友的姓名存储在一个列表中,并将其命名为names 。依次访问该列表中的每个元素,从而将每个朋友的姓名打印出来。

代码

names = ['winnie','jack','lili','will','diana']
for name in names:print(f'Hello, my name is {name.title()}')
else:print("The list is overlooped")

代码解释:

  1. 使用for循环遍历列表中的所有信息
  2. 使用format字符串形式输出字符串中的变量
  3. 使用title方法对列表中的字母进行首字母大写

2.2 列表元素的插入和删除

涉及方法

  • append() : 在列表末尾添加元素
  • insert() : 在列表任意位置添加元素
  • remove() :根据具体值删除元素
  • del 语句 :删除整个列别或某一元素
  • pop() :弹出任意元素

练习题

在这里插入图片描述
在这里插入图片描述

代码

#3-4
names = ['diane','kalinda','alicia','will','peter','cary']
for name in names:print(f"Dear {name.title()}, let's have a dinner together this evening.")
num_guests = len(names)
print(f'We have invited {num_guests} guests now',)
print("\n")#3-5
print("Ops! Peter is busy with his campaign so he can't joy the dinner.\n")
names.remove('peter')
names.append('zerk')
for name in names:print(f"Dear {name.title()}, let's have a dinner together this evening.")
num_guests = len(names)
print(f'We have invited {num_guests} guests now',)
print("\n")#3-6
print("We can invite more guests now because I have found a bigger dinner table now.\n")
names.insert(0,'tom')
names.insert(int(len(names)/2),'mary')
names.append('winnie')
for name in names:print(f"Dear {name.title()}, let's have a dinner together this evening.")
num_guests = len(names)
print(f'We have invited {num_guests} guests now',)
print("\n")#3-7
print('Sorry, I can only invite 2 guests to joy the dinner.\n')
while len(names)>2:name = names.pop()print(f"Dear {name.title()}, sorry for the change, we can have dinner the next time!")
for name in names:print(f"Dear {name.title()}, you are still invited to the dinner tonight.")
del names[0]
del names[0]
print(names)

输出如下:
Dear Diane, let’s have a dinner together this evening.
Dear Kalinda, let’s have a dinner together this evening.
Dear Alicia, let’s have a dinner together this evening.
Dear Will, let’s have a dinner together this evening.
Dear Peter, let’s have a dinner together this evening.
Dear Cary, let’s have a dinner together this evening.
We have invited 6 guests now

Ops! Peter is busy with his campaign so he can’t joy the dinner.

Dear Diane, let’s have a dinner together this evening.
Dear Kalinda, let’s have a dinner together this evening.
Dear Alicia, let’s have a dinner together this evening.
Dear Will, let’s have a dinner together this evening.
Dear Cary, let’s have a dinner together this evening.
Dear Zerk, let’s have a dinner together this evening.
We have invited 6 guests now

We can invite more guests now because I have found a bigger dinner table now.

Dear Tom, let’s have a dinner together this evening.
Dear Diane, let’s have a dinner together this evening.
Dear Kalinda, let’s have a dinner together this evening.
Dear Mary, let’s have a dinner together this evening.
Dear Alicia, let’s have a dinner together this evening.
Dear Will, let’s have a dinner together this evening.
Dear Cary, let’s have a dinner together this evening.
Dear Zerk, let’s have a dinner together this evening.
Dear Winnie, let’s have a dinner together this evening.
We have invited 9 guests now

Sorry, I can only invite 2 guests to joy the dinner.

Dear Winnie, sorry for the change, we can have dinner the next time!
Dear Zerk, sorry for the change, we can have dinner the next time!
Dear Cary, sorry for the change, we can have dinner the next time!
Dear Will, sorry for the change, we can have dinner the next time!
Dear Alicia, sorry for the change, we can have dinner the next time!
Dear Mary, sorry for the change, we can have dinner the next time!
Dear Kalinda, sorry for the change, we can have dinner the next time!
Dear Tom, you are still invited to the dinner tonight.
Dear Diane, you are still invited to the dinner tonight.

2.3 组织列表

涉及方法

  • sort():对列表排序
  • sorted():对列表暂时排序,不改变原有顺序
  • reverse():翻转列表

练习题

在这里插入图片描述
在这里插入图片描述

代码

#3-8
travel = ['italy','france','america','spain','denmark']
print("original:",travel)
print("sorted:",sorted(travel))
print("after sorted:",travel)
travel.reverse()
print("reverse:",travel)
travel.reverse()
print("reverse again:",travel)
travel.sort()
print("sort:",travel)
travel.sort(reverse=True)
print("sort reverse=True:",travel)#3-9
names = ['diane','kalinda','alicia','will','peter','cary']
print("The number of guests are %d." %len(names))

在这里插入图片描述
在这里插入图片描述

2.4 索引

在这里插入图片描述
列表从前往后的下标从0开始,从后往前的下标从-1开始

相关文章:

Python编程从入门到实践练习第三章:列表简介

目录 一、字符串1.1 在字符串中使用变量 二、列表2.1 遍历列表练习题代码 2.2 列表元素的插入和删除涉及方法练习题代码 2.3 组织列表涉及方法练习题代码 2.4 索引 参考书:Python从入门到实践(第二版) 一、字符串 1.1 在字符串中使用变量 f…...

【Spring Boot】请求参数传json数组,后端采用(pojo)新增案例(103)

请求参数传json数组,后端采用(pojo)接收的前提条件: 1.pom.xml文件加入坐标依赖:jackson-databind 2.Spring Boot 的启动类加注解:EnableWebMvc 3.Spring Boot 的Controller接受参数采用:Reque…...

Redis 持久化RDB和AOF

Redis 持久化之RDB和AOF Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照…...

【ThinkPHP】PHP实现分页功能

查询列表数据,需要用到分页功能,下面是分页功能的代码: /*** Summary of userList* return \think\response\Json*/public function userList(){$page input("page")?:1;//当前页数$size input("size")?:10;//每页大…...

chrome 插件开发

参考: https://www.cnblogs.com/amboke/p/16718855.html 设计和实现一个 Chrome 插件提升登录效率_若川的技术博客_51CTO博客 最新版 V3 chrome 插件开发~ demo 坑 - 掘金 官方文档:https://developer.chrome.com/docs/extensions/...

开源MinDoc wiki系统搭建

部署文档参考 https://cloud.tencent.com/developer/beta/article/2134667 https://mp.weixin.qq.com/s?__bizMzU0MzEyODAyNA&mid2247485475&idx1&snac5ac76beac0a1405ca7a0f045f44db3&chksmfb116894cc66e182b197601420b8b5409a91ac538ba67d01248659de913fe7…...

pytest.ini 文件说明

pytest.ini 文件是用于配置 pytest 测试用例运行规则的文件。pytest.ini 配置文件支持的参数有以下几类: 匹配测试文件和测试函数的过滤参数测试用例执行参数测试报告输出参数临时文件及路径参数插件参数 以下是一些常见的 pytest.ini 配置参数及其用法示例&#…...

遥感、GIS、GPS在土壤空间数据分析、适应性评价、制图、土壤普查中怎样应用?

摸清我国当前土壤质量与完善土壤类型,可以为守住耕地红线、保护生态环境、优化农业生产布局、推进农业高质量发展奠定坚实基础,为此,2022年初国务院印发了《关于开展第三次全国土壤普查的通知》,决定自2022年起开展第三次全国土壤…...

git | git使用心得记录

公司里项目最近使用Git进行协作开发,总结一下使用心得 一、第一次用git,完全同步最新代码checkout 按照以下步骤操作 1、git init 2、git remote add origin 远程仓库的地址https://gitlab.xxxx.com.cn/xx/xx/xxx/Android/baseline/x.x.x.git(远程仓库…...

java策略模式三种实现方案

方案1:Autowired Map public interface ClientService {void hanlde(Object obj);String type(); }Service public class PcClientService implements ClientService { Overridepublic void handle(Object obj) {// todo pc客户端逻辑} Overridepublic Stri…...

VMWare虚拟系统上网设置及VMWare虚拟机三种工作模式详解

很多网友安装了VMWare虚拟机,但是在虚拟机上网问题上却卡住了。要想虚拟机上网,首先让我们了解一下VMWare虚拟机三种工作模式。现在,让我们一起走近VMWare的三种工作模式。 理解三种工作模式 …...

计算机网络(3) --- 网络套接字TCP

计算机网络(2) --- 网络套接字UDP_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/131977544?spm1001.2014.3001.5501 目录 1.TCP 1.服务端接口介绍 1.listen状态 2.accept获取链接 2.客户端接口介绍 2.TCP的服务器…...

大数据技术之Hadoop(二)

目录 一、Hadoop的诞生 二、大数据概述 三、大数据软件生态 3.1 数据存储相关技术 3.2 数据计算相关技术 3.3 数据传输相关技术 四、什么是Hadoop 本篇主要讲解大数据的核心概念以及Hadoop的基本介绍。 一、Hadoop的诞生 大数据的发展与日益庞大的数据量是密不可分的。从…...

运维工程师第二阶段linux基础

文章目录 linux基础1.linux发展史--前身unix2.linux特点3.linux操作系统安装4.linux基础操作5.shell与终端6.Linux基础命令使用管理员找回密码linux的目录和管理1.根目录下目录结构及作用文件类型2.基本的目录管理命令查看基本的文件管理命令重定向① 几个概念② Linux打包操作…...

ChatGPT安全技术

前言 近期,Twitter 博主 lauriewired 声称他发现了一种新的 ChatGPT"越狱"技术,可以绕过 OpenAI 的审查过滤系统,让 ChatGPT 干坏事,如生成勒索软件、键盘记录器等恶意软件。 他利用了人脑的一种"Typoglycemia&q…...

使用cmd查看3568主板相关

主要是说清楚思路的 rk3568主板能运行的程序都在system/bin里面,这个是我们直接可以使用cmd用到的 所以,往后我们想通过cmd了解RK3568的某一项参数的时候,或者想使用RK3568某一个系统功能的时候。应该先去system/bin里面查找对应的系统程序。…...

SpringBoot限制(限流)接口访问频率

限流整个流程过程 1.首先用户的请求进来,将用户ip和uri组成key,timestamp为value,放入zset 2. 更新当前key的缓存过期时间,这一步主要是为了定期清理掉冷数据,和上面我提到的常见错误设计2中的意义不同 3. 删除窗口之…...

蓝桥杯,我劝你不要参加的8个完美理由

蓝桥杯,是一个全国高校的IT技术比拼,如果你参加了,可能不止是刷题数量的剧增,还有你的软件人生 我劝你不要参加,因为如果你参加了,可能会有以下烦恼: 目录 1、会让你变得上进 2、会提前感受码…...

ChatGPT及其工作原理;OpenAI申请注册商标GPT-5,引发关注

🦉 AI新闻 🚀 OpenAI申请注册商标GPT-5,引发关注 摘要:OpenAI已在上月18日申请注册商标GPT-5,显示该模型将提供文本生成、自然语言理解、语音转录、翻译、分析等功能。此前OpenAI曾表示尚未开始训练GPT-4的后继者GPT…...

[C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对文档文件去标签、如何获取文档标题...

项目开始的准备工作 在上一篇文章中, 已经从Boost官网获取了Boost库的源码. 接下来就要编写代码了. 不过还需要做一些准备工作. 创建项目目录 所有的项目文件肯定要在一个目录下, 找一个位置执行下面这行指令 mkdir Boost-Doc-Searcher将文档html文件, 存放到项目中 cd Boost…...

Python基础语法:访问器@property和修改器@xxx.setter

一、简介 访问器和修改器也是装饰器的一种。 property: 访问器,getter xxx.setter: 修改器,setter 访问器和修改器的根本目的是想将属性私有化,提供getter&setter去访问。 访问器和修改器能够做到访问属性其实在调用getter方法&#xff0…...

机器学习赋能6G近场通信:从信道估计到波束赋形的智能革命

1. 项目概述:当6G遇见近场,为何机器学习成为破局关键?如果你关注过5G到6G的技术演进路线,会发现一个核心趋势:天线阵列的规模正在从“大规模”走向“极大规模”。这不仅仅是数量的堆砌,更是通信物理原理的一…...

DMA-330地址空间限制与扩展方案解析

1. DMA-330地址空间限制解析DMA-330作为Arm CoreLink系列中的直接内存访问控制器,其物理寻址能力直接由AxADDR信号宽度决定。这个32位地址总线宽度意味着它原生仅支持4GB(2^32字节)的物理地址空间访问。在实际嵌入式系统设计中,这…...

UOS系统下WPS卸载不干净?手把手教你用命令行精准清理(附dpkg/apt组合拳)

UOS系统下WPS卸载不干净?手把手教你用命令行精准清理 在UOS系统日常使用中,WPS Office作为常用办公软件,有时因版本更新或功能调整需要彻底卸载。但不少用户发现,通过图形界面或简单命令卸载后,系统中仍残留配置文件、…...

从Gamma函数到泊松分布:一个概率论中的含参量积分实用案例解析

Gamma函数与泊松分布:概率论中的数学之美 在数据科学和机器学习的实践中,概率分布构成了建模的基石。当我们深入探究这些分布背后的数学原理时,Gamma函数以其优雅的性质和广泛的应用脱颖而出。它不仅连接了离散与连续概率世界,更在…...

13456

12356...

搞定这 5 个全栈电商项目,面试别再用 Todo-List 凑数了

找独立开发练手项目或者写简历项目时,最忌讳两件事:一是太简单(纯前端 Mock 数据,点两下就没了),二是太假(一上来就硬套微服务、消息队列、高并发,结果自己根本Hold不住)…...

2026年一键生成论文工具对比实测:5款神器从选题到格式全流程护航

写论文的焦虑,是每个科研人和学生都心照不宣的“隐形压力”。选题无从下手,文献检索耗时费力,逻辑框架反复推翻,格式排版让人抓狂,查重降重更是像在和系统玩“猫鼠游戏”。2026年的AI工具早已不是过去那种“打字机”&a…...

从零到上机:我的第一个Quest 3空间锚点应用是如何跑起来的(附完整Unity工程)

从零到上机:我的第一个Quest 3空间锚点应用是如何跑起来的(附完整Unity工程)第一次戴上Meta Quest 3时,那种虚拟与现实交织的震撼感至今难忘。但作为开发者,更让我着迷的是如何让虚拟物体在真实空间中"记住"…...

CPU架构启发的智能仓储布局优化实践

1. 仓库布局优化的核心挑战与创新机遇在物流仓储领域,拣货环节通常占据运营成本的55%-65%,而其中约50%的时间消耗在无效行走路径上。传统矩形仓库布局虽然易于规划和施工,但其正交的通道设计导致拣货员需要频繁进行90度转向,这种&…...