Python编程从入门到实践练习第四章:对列表进行操作

news2024/10/3 6:30:41

本文目录

  • 一、 创建数值列表
    • 1.1 使用range创建数字列表
      • 涉及方法
      • 使用实例
      • 输出
    • 1.2 列表解析
    • 1.3 练习题
      • 代码
      • 输出
  • 二、对列表部分元素进行操作
    • 2.1 切片
      • 使用实例
    • 2.2 复制列表
    • 2.3 练习题
      • 代码
      • 输出
  • 三、元组
    • 3.1 元组介绍
    • 3.2 练习题
      • 代码
      • 输出

一、 创建数值列表

1.1 使用range创建数字列表

涉及方法

  • range():生成一系列数字
  • list():括号中的结果转换为列表
  • 次方运算:x**n代表x的n次方
  • max() min() sum():求最大、求最小、求和

使用实例

  1. 生成1-5的数字列表
numbers = list(range(1,6))
print(numbers)
  1. 生成1-10的奇数
num_odds= list(range(1,11,2))
print(num_odds)
  1. 生成1-10的平方数
num_sqr=[]
for num in range(1,11):
    num_sqr.append(num**2)
print(num_sqr)
  1. 求数字列表中的最大最小以及总和
digits = list(range(1,21))
print(max(digits),min(digits),sum(digits))

输出

在这里插入图片描述

1.2 列表解析

编写一行代码来完成列表的生成。

例:使用一行代码完成上面的平方数列表的构建:

squares = [value**2 for value in range(1,11)]
print(squares)

在这里插入图片描述

1.3 练习题

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

代码

#4-3
print("4-3")
for i in range(1,21):
    print(i,end=" ")

#4-4
# for i in range(1,1000001):
#     print(i,end=" ")

print("\n4-5")
nums = list(range(1,1000001))
print(max(nums),min(nums),sum(nums))

#4-6
print("4-6")
odds = [i for i in range(1,21,2)]
print(odds)

#4-7
print("4-7")
num_by_three = [i for i in range(3,31) if i % 3 == 0]
print(num_by_three)

#4-8
print("4-8")
list = []
for i in range(1,11):
    list.append(i**3)
print(list)

#4-9
print("4-9")
num_triple = [i**3 for i in range(1,11)]
print(num_triple)

输出

练习4-4输出太长,注释掉,不再进行输出
在这里插入图片描述

二、对列表部分元素进行操作

2.1 切片

使用实例

  1. 输出第一个到第四个元素
num = list(range(1,11))
print(num)
print(num[1:5])
  1. 不指定起始索引:默认从头开始
print(num[:4])
  1. 不指定结束索引:默认到最后
print(num[6:])
  1. 输出最后三个元素
print(num[-3:])

在这里插入图片描述

2.2 复制列表

同时省略起始和终止索引 [ : ]

num = list(range(1,11))
num1 = num[:]
print(num)
print(num1)
num.append(18)
print(num)
print(num1)

此时创建了num和num1两个列表,两个列表相互独立。
在这里插入图片描述

若使用变量名直接赋值的方法,则不会创建一个新列表,两个变量名都指向一个列表,对列表进行操作时不管使用哪个变量名,列表都会进行改变。

num = list(range(1,11))
num1 = num
print(num)
print(num1)
num.append(18)
print(num)
print(num1)

在这里插入图片描述

2.3 练习题

在这里插入图片描述

代码

#4-10
print("4-10")
num = list(range(1,21))
print(num)
print(num[:3])
print(num[int(len(num)/3):int(len(num)/3)+3])
print(num[-3:])

#4-11
print("4-11")
pizzas = ['a','b','c','d']
friend_pizzas = pizzas[:]
pizzas.append('ee')
friend_pizzas.append('ff')
for pizza in pizzas:
    print(f"My favorate pizza is {pizza}")
for friend_pizza in friend_pizzas:
    print(f"My friend's favorate pizza is {friend_pizza}")

输出

在这里插入图片描述

三、元组

3.1 元组介绍

不可修改的列表称之为元组
使用圆括号定义: tuple = (10,20)

  1. 元组中的变量值和元组的长度都不能改变。
  2. 使用for循环对元组中的值进行遍历。
  3. 若需要存储的一组值在程序的整个生命周期中都要保持不变,则可以使用元组。

3.2 练习题

在这里插入图片描述

代码

foods = ('noodles','soup','dumplings','hamburger','chips')
for food in foods:
    print(food)
print("\n")
    # error!!
#food[1]='rice'

foods = ('water','chicken','dumplings','hamburger','chips')
for food in foods:
    print(food)

输出

在这里插入图片描述

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

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

相关文章

理解Android生命周期

写一个demo,实现两个页面之间的跳转。重写7个生命周期方法,在方法中打印日志,观察状态的变化。 MainActivity 设置一个常量。 private static final String TAG "hello_activity_1";重写7个生命周期。 在生命周期方法中&#…

No primary or single unique constructor found for interface java.util.List

报错截图: 报错内容: 2023-08-04 15:46:32.884 ERROR 14260 --- [io-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing fa…

对当下AI的一些观感思考

目前来看,AI技术地震的震中还是在美帝那旮瘩。尤其是M7,这几家市值加总快15万亿美元了,个个都是行业翘楚,个个都有拿得出手的东西。AI是个技术密集、人才密集、计算密集的产业。美帝拥有全球一流的顶尖人才,以及财力、…

【Leetcode】(自食用)树的中序遍历(递归+栈非递归)

step by step. 题目: 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入…

【LNMP】LNMP

LNMP:是目前成熟的企业网站的应用模式之一,指的是一套协同工作的系统和相关软件;能够提供静态页面服务,也可以提供动态web服务 L Linux系统,操作系统N Nginx网站服务,前端,提供前端的静态…

接口抓包,Fiddler抓包使用方法总结,入门到精通辅助实战...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 工作原理 Fiddle…

性能全面飙升!StarRocks 在贝壳找房的极速统一实践

小编导读: 贝壳找房是国内最大的在线房产交易平台之一,利用大数据技术进行房源的挖掘和匹配,通过数据分析和挖掘,更准确地了解用户需求,并为用户提供个性化的房源推荐和交易服务。 随着数据和业务规模的增长&#xff0…

carla中lka实现(一)

前言: 对于之前项目中工作内容进行总结,使用Carla中的车辆进行lka算法调试,整体技术路线: ①在Carla中生成车辆,并在车辆上搭载camera,通过camera采集图像数据; ②使用图像处理lka算法&#…

echart图标日环图

效果图&#xff1a; 代码实例&#xff1a; <template><div id"chart-alarm" class"chartStyle"></div> </template> <script> import echarts from echarts export default {name:alarm,data(){return{chart:null}},mounte…

mybatisplus集成geometry实现增改功能

前言 在我们工作中想要实现将空间点位信息存储到数据库时,一般使用以下语句实现 INSERT INTO test-point ( point,text ) VALUES ( st_GeomFromText ( POINT(1 1) ),第1个点);update test-point set pointst_PointFromText(POINT(5 5)) where id 10;但是这样每次都要去编写新…

介绍个小工具 - ABAP Cleaner

1. 背景 在编写ABAP代码时&#xff0c;我们可以通过Pretty Printer &#xff08;Shift F1&#xff09;去完成代码的美化&#xff0c;但Pretty Printer所能提供的仅仅是关键字大小写的设置、以及行首留空格的控制&#xff0c;如下图所示。 也就是说&#xff0c;Pretty Printer…

【MySQL】仓储--维护出入库流水、库存,去重数量逻辑修正

系列文章 C#底层库–MySQLBuilder脚本构建类&#xff08;select、insert、update、in、带条件的SQL自动生成&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/129179216 C#底层库–MySQL数据库操作辅助类&#xff08;推荐阅读&#xff0…

【QNX】快速入门指南

目录 1.QNX 快速入门指南 2.系统要求 2.安装 QNX Momentics 开发套件 3.安装 QNX Neutrino 实时操作系统 4.QNX Neutrino 操作系统的联网 1.QNX 快速入门指南 本指南旨在帮助用户安装和配置 QNX Momentics 工具与 QNX Neutrino 操作系统&#xff0c;以便用户立即进行程序开…

Mybatis 实体类属性名和表中字段名不一致怎么处理

一. 前言 最近耀哥有学生出去面试&#xff0c;被问到 “Mybatis实体类的属性名和表中的字段名不一致该怎么处理&#xff1f;”&#xff0c;这其实是一个很经典的面试题&#xff0c;接下来耀哥就为大家详细解析一下这道面试题。 二. 分析 2.1 实体类和字段名不一致所带来的后果…

<C/C++>日期和时间的使用(time相关函数大全)

1、函数详解及示例 1- time_t time(time_t *time); 1&#xff09;功能&#xff1a;获取或设置系统时间。 2&#xff09;参数&#xff1a;若给定参数&#xff0c;则将当前时间保存到该参数中&#xff1b;若不给定参数&#xff0c;参数填NULL。 3&#xff09;返回值&#xff1…

CANDela Cdd 文件和CddT文件的相互转化

cdd转cddT Step1 点击Check Consistency , step2 没有任何error step1 选择Convert Document to Template , 然后选择想要转换的文件 保存cddt文件 cddT转cdd cddt文件的可编辑权限更高&#xff0c;但是在diva工程和canoe中只能使用cdd文件&#xff0c;所以&#xff0c;我们…

跑步用哪款耳机比较好、最适合跑步用的蓝牙耳机推荐

运动时聆听音乐可以为枯燥的过程带来娱乐&#xff0c;并且能够转移注意力&#xff0c;让人忽略身体负荷带来的不适感。而一款出色的运动耳机则成为锻炼过程中的重要辅助&#xff0c;它能够帮助控制节奏&#xff0c;使运动过程更加愉悦和高效。以下是一些备受推崇的热门运动耳机…

EventBus 开源库学习(一)

一、概念 EventBus是一款在 Android 开发中使用的发布-订阅事件总线框架&#xff0c;基于观察者模式&#xff0c;将事件的接收者和发送者解耦&#xff0c;简化了组件之间的通信&#xff0c;使用简单、效率高、体积小。 一句话&#xff1a;用于Android组件间通信的。 二、原理…

Windows环境下VSCode安装PlatformIO Cero报错ERROR: HTTP error 403 while getting

安装PlatformIO插件成功&#xff0c;初始化失败 错误信息判断问题尝试访问https://pypi.tuna.tsinghua.edu.cn/simple/platformio/成功点击文件后报错如下&#xff1a; 解决问题- 换源 &#xff08; Windows下有两个地方需要更改&#xff09;cmd命令行Pip文件 总结&#xff1a;…

C语言指针操作数组赋值

1、通过指针修改数组元素的值 ps:int a[10] {10}; 数组名a &a[0] a1 &a[0]1 跨过得是数组元素类型的长度&#xff0c;&a是对整个数组取地址&#xff0c;&a1是跨过整个数组的长度 #include "stdio.h" #include <stdlib.h>int main() {i…