python编程基础(三):操作列表 & 元组

笔记:Python 列表与元组编程题(练习题) 欢迎阅读本编程练习题集,旨在帮助您加深对 Python 中列表(List)与元组(Tuple)的理解和应用。列表与元组是 Python 中常用的数据结构,能够有效地存储和操作数据,对于编写各种类型的程序至关重要。通过完成这些编程练习,您将有机会加强对列表和元组的掌握,提高编程技能,并培养解决问题的能力。每个练习都设计得既具挑战性又有趣,涵盖了各种常见的应用场景和编程技巧。我们鼓励您在解决每个问题时尝试不同的方法和思路,灵活运用 Python 的各种功能和语法。 阅读详情

一、遍历列表

1、在遍历数组或者列表的时候,我们首先想到的就是循环结构,常用的也就是for循环了,所以在python在遍历列表时,我们也用for

(1) magicians =['alice','david','carolina']
(2) for magician in magicians:
(3)     print(magician)

首先在(1) 定义一个列表,由 python编程基础(二):列表 中,我们在定义一个列表名称时最好是定义成复数的名称,比如本例子中magicians

其次在(2)行,使用for,此句末尾一定要加冒号" : ",此句表示的是从  magicians 中依次取出元素,并赋值给magician这个变量。这种命名就可以看成,复数表示的是一个集合,而单数表示的就是集合中的元素。

在(3)行,将存储在magician中的信息打印出来

注意:在使用循环时,选择描述单个列表元素的有意义的名称大有帮助,比如:小猫列表,小狗列表,一般列表,可以使用下面的定义名称的方式:

for cat in cats:
for dog in dogs:
for item in list_of_items:

 

二、创建数值列表

1、使用函数 range()产生一系列数字

for value in range(1,5):
    print(value)


结果:
1
2
3
4

可以观察到,虽然程序写的是range(1,5)  但是不会生成5,只能到4,注意,如果使用range(10)意思是生成0-9的10个数

total = 0

for number in range(30):
    print(number)
    total = total + 1
    
print(total)

结果:
0
1
2
3
4
5
6
7
8
9

2、使用range() 创建数字列表

(1)、用 list() 来生成

numbers = list(range(1,6))
print(numbers)

结果:
[1,2,3,4,5]

(2)、生成其他特殊的列表

for value in range(1,11):
    squares.append(value**2)

print(squares)

结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

其实可以使用列表解析来实现,实现起来更加简洁方便。如下:

列表解析是将 for 循环 和创建新元素的代码合并在一起

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

结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

注意在使用 列表解析的时候  for 循环后面就没有冒号

3、对列表中的数据做简单统计

digits = list(range(1,10))
digits.append(0)
print(digits)

min_digit = min(digits)
print(min_digit)

max_digit = max(digits)
print(max_digit)

sum_digit = sum(digits)
print(sum_digit)    


结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
0
9
45

可以用 min()   max()   sum(),来求列表中的最小值、最大值、求和

 

三、使用列表中的一部分(切片)

1、切片

与range相同,不会到达设定的结束索引,因此在创建切片的时候再最后的索引上加1,比如像索引列表中前3个变量,那么索引范围不能是(0,2),而应该是(0,3)这样才是列表中的前三个:0 1 2

players = ['aaa','bbb','ccc','ddd','eee','fff','jjj','hhh','iii']
print(players[1:4])  # 打印 2~4 的元素
print(players[:4])   # 由于没有起始索引,因此就会从列表开头开始
print(players[2:])   # 由于没有终止索引,因此就截止到列表结束
print(players[-3:])  # -3 表示从倒数第3个变量开始


结果:
['bbb', 'ccc', 'ddd']
['aaa', 'bbb', 'ccc', 'ddd']
['ccc', 'ddd', 'eee', 'fff', 'jjj', 'hhh', 'iii']
['jjj', 'hhh', 'iii']

2、遍历切片

可以使用 for 循环来遍历切片

players = ['aaa','bbb','ccc','ddd','eee','fff','jjj','hhh','iii']
for player in players[:3]:
    print(player)


结果:
aaa
bbb
ccc

切片索引是[:3],因此就是 0  1  2 表示列表的前三个

3、复制列表

在列表的复制时,一定要使用如下的形式:

列表1 = 列表2[ : ]    %此时是完成了列表的复制

而不能直接相等,如下:

列表1 = 列表2    % 此时只是将列表1 关联到 列表2;其实列表1 跟 列表2 表示的是同一个向量

my_foods = ['aaa','bbb','ccc','ddd']
friend_foods = my_foods[:]

my_foods.append('ssd')
friend_foods.append('wer')

print("my")
print(my_foods)

print("you")
print(friend_foods)


结果:
my
['aaa', 'bbb', 'ccc', 'ddd', 'ssd']
you
['aaa', 'bbb', 'ccc', 'ddd', 'wer']

可以发现使用  列表1 = 列表2[ : ]  结果是有两个列表,若使用列表1 = 列表2  则不一样

my_foods = ['aaa','bbb','ccc','ddd']
friend_foods = my_foods

my_foods.append('ssd')
friend_foods.append('wer')

print("my")
print(my_foods)

print("you")
print(friend_foods)

结果:
my
['aaa', 'bbb', 'ccc', 'ddd', 'ssd', 'wer']
you
['aaa', 'bbb', 'ccc', 'ddd', 'ssd', 'wer']

可以发现,这种情况下,friend_foods   和   my_foods   表示的是一个列表

四、元组

不可变的列表就是元组

元组看起来像是 列表 但是元组是使用 圆括号来标识,而非是方括号。

元组:

dimensions = (200,100)

lists=[200,100]

1、定义元组

dimensions = (200,100)
print(dimensions[0])
print(dimensions[1])

结果:
200
100

2、修改元组

元组是不允许修改其中的元素的,但是可以给他的变量做赋值

dimensions = (200,100)
#dimensions[0] = 500   这样是不行的额,不能修改元组中的元素
print(dimensions[0])
print(dimensions[1])



dimensions = (300,700)
print(dimensions[0])
print(dimensions[1])


结果:
200
100
300
700

 

 

 

 

python基础练习题(三)---列表、字典、元组、集合 一、单选题 1.阅读下面一段示例程序: demo_list = [] demo_list.append(“A”,“B”) print(demo_list) 运行程序,其最终执行的结果为(6.0分) A、[‘A’] B、[‘A’, ‘B’] C、[‘B’, ‘A’] D、程序出现TypeError异常 append(x):将参数中的数组作为一个元素添加 extend(x,y,z):将参数中的数组作为多个元素添加 2.请看下面的一段程序: info = {1:‘小明’, 2:‘小黄’,3:‘小兰’} name 阅读详情

相关推荐

多边形裁剪算法

多边形裁剪算法 刚参加工作就跟多边形刚上了,对于多边形的裁剪做一些简单的总结。 多边形裁剪主要有四种算法 Greiner-Hormann裁剪算法 Sutherland-Hodgman算法 Vatti裁剪算法 Weiler-Atherton裁剪算法 作为一名想要成为优秀算法工程师的程序员,我们不能只会使用,而不知道其原理,倘若如此,我们无法做到应用于本身业务上的定制化的修改。 Greiner–H...

papalqi 6729

试编写程序,随机生成三个0-2范围内的整数,将其作为索引分别访问三个列表中的对应元素,然后进行造句。 例如,随机生成三个整数分别为1,0,2,则输出句子“小羊在草地上吃晚饭”。

1.代码 代码如下: import random lst_who = ["小马", "小羊", "小鹿"] lst_where = ["草地上", "电影院", "家里"] lst_what = ["看电影", "听故事", "吃晚饭"] a, b, c = random.randint(0, 2), random.randint(0, 2), random.randint(0, 2) sentences = lst_who[a] + lst_where[b] + lst_what[c] print

m0_51962800的博客 3547

华为HCIA-Datacom实战:200人企业园区网从规划到部署全流程解析

本文详细解析了华为HCIA-Datacom认证实战中200人企业园区网的规划与部署全流程。从需求分析、组网架构设计到设备选型、VLAN划分及安全策略实施,全面覆盖园区网建设的关键环节,特别针对部门隔离、无线覆盖和基础安全防护等典型场景提供可落地的解决方案。

f0g1h2的博客 712

Python程序设计2——列表和元组

  数据结构:更好的说法是从数据角度来说,结构化数据,就是说数据并不是随便摆放的,而是有一定结构的,这种特别的结构会带来某些算法上的性能优势,比如排序、查找等。  在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号————即元素的位置,这个序号也被称为索引。第一个索引从0开始。  本章先介绍序列,然后介绍针对序列(包括元组和列表)都通用的操作,这些操作也适...

weixin_30641465的博客 756

给STM32F103的7寸屏找个新UI:LVGL 8.2裸机移植保姆级教程(附避坑清单)

本文详细介绍了如何将LVGL 8.2裸机移植到STM32F103开发板,特别针对7寸大屏(800×480分辨率)进行优化配置。从环境准备、工程搭建到显示驱动移植、内存优化与性能调优,提供完整的解决方案和避坑清单,帮助开发者快速实现美观的用户界面。

weixin_29181861的博客 414

用ADS复现一篇MTT顶刊的GAN功率放大器:从理论推导到版图仿真的完整避坑指南

本文详细解析了如何利用ADS软件复现MTT顶刊中的E/F3类GaN功率放大器设计,从理论推导到版图仿真的全流程。通过核心设计理念解析、ADS环境配置、输出匹配网络优化等关键步骤,提供了一套完整的工程实践指南,帮助工程师跨越学术理论与实际应用的鸿沟,实现高效率射频功率放大器的设计。

weixin_30654583的博客 315

Python3学习 四 元组

第四章 元组 2020年1月21日 13:14 第四章 元组 一、元组的概念 列表中的数据时可修改的,而将数据不可修改的列表称为元组。 因此,元组与列表既相似又相对。 二、元组的创建与定义 创建列表时,我们使用的是列表名[列表内容],而创建元组使用的不是方括号而是圆括号“()”比如dimension=(200,50),这里dimension就是一个元组,其中有两个元素分别为200、50。 当试图对...

tomatoarmys的博客 390

安卓应用锁开发实战:如何通过拦截Activity启动实现密码验证(附完整代码)

本文深入探讨了在安卓系统中开发应用锁功能的两种实战方案:通过修改ActivityStarter源码或实现IActivityController接口来拦截Activity启动流程,从而实现启动前的密码验证。文章详细对比了两种方案的技术选型、实现细节与适用场景,并提供了处理隐式Intent、验证状态管理等核心问题的完整代码,为开发系统级安全功能提供了实用指南。

tcp8optimizer的博客 457

多个列表中的元素做组合的逻辑与python实现

引入 本文组合逻辑的讲解,与代码,都是基于python的。 我们在实际编程中,会遇到多个元素做组合的过程,比如,给定如下4个列表 list1 = ['A', 'B'] list2 = ['C', 'D'] list3 = ['E','F','G'] list4 = ['H', 'I'] 列表中的元素(A/B/C等),这里用的是string。实际情况中,也可以是int,或其他类型的instance...

ybdesire的专栏 4115

ST MotorControl Workbench 6.2.1 自定义硬件配置避坑指南

本文详细介绍了ST MotorControl Workbench 6.2.1在自定义硬件配置中的常见问题与解决方案,涵盖功率板配置、采样电路校准、电机参数设置及代码生成避坑指南,帮助开发者高效完成电机控制项目开发。

red88的博客 1024

SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程-第一篇:ADT安装前置准备与环境校验教程

ABAP Development Tools(ADT)安装配置教程摘要 本文是ADT安装系列的第一篇,重点讲解环境准备与版本校验。ADT是基于Eclipse的现代ABAP开发工具,相比传统SAP GUI提供更智能的开发体验。安装前需确认: 推荐使用Eclipse 2026-03 + Java 21组合 操作系统需Windows 10+/macOS 14+ SAP GUI版本要求Windows≥8.00/macOS≥8.10 后端系统需NetWeaver 7.31 SP04+或S/4HANA 通过java -

baidu_35680696的博客 690

python编程实现:分别从三个(多个)列表中抽取一个元素,组成新的列表,类似组合问题的求解

# 例:从列表list1, list2, list3 中每次各抽取一个元素,再将抽取的元素来组成新的列表 list1 = [1, 2, 3, 4, 5] list2 = [6, 7, 8, 9, 10] list3 = [11, 12, 13, 14, 15] index_set = [] temp_set = [] result_set = [] for i in list1: for...

会呼吸的梦 9890

基于YOLO26深度学习框架的人脸识别门禁系统的算法研究实现方法

本文研究了基于YOLO26深度学习框架的人脸识别门禁系统实现方法。系统采用YOLO26目标检测算法,通过CSPDarknet53主干网络、特征金字塔结构和注意力机制实现高效人脸检测。研究内容包括数据预处理、模型训练优化和身份验证等关键技术,使用迁移学习策略和CIoU损失函数提升检测精度。该系统可应用于智能安防场景,具有实时性强、识别准确的特点,为门禁管理提供了智能化解决方案。

一键难忘的博客 766

Python基础语法(列表,元组,字典)案例详解

本章节继续介绍python容器(列表,元组,字典),分享给刚学python的小伙伴,一起学习,共同进步 字符串详解:Phython基础语法之字符串 文章目录一.列表基础语法二.列表的相关操作三.列表的嵌套四.元组五.字典介绍六.字典的常见操作七.遍历 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢? 定义100个变量,每个变量存放一个学生的姓名可.........

末尾卡片和博主交流学习! 8671

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【python】列表与元组

介绍python中的列表与元组

Yui_的博客 1892

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python 列表,字典,元组,集合总结

列表是Python中最常用的数据结构之一,它是一个有序可变的序列,可以存储任意类型的元素。列表用方括号[]表示,元素之间用逗号分隔。元组是一个有序不可变的序列,用圆括号()表示。元组一旦创建,其内容不可修改。集合是一个无序不重复的元素集合,用花括号{}表示。集合中的元素必须是不可变类型(如整数、字符串、元组等)。字典是一个无序的键值对集合,用花括号{}表示。字典中的每个元素由一个键(Key)和一个值(Value)组成,键必须是不可变类型。列表适合存储有序且可能变化的数据。元组。

cxk 2469

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

(Python基础篇)列表与元组的操作

列表与元组作为 Python 中最基础的序列类型,虽特性不同(可变 vs 不可变),但共同承担着数据存储与组织的核心功能。列表以灵活性见长,适合处理动态变化的数据;元组以稳定性为优,适合存储固定不变的信息或作为哈希键。掌握二者的创建、访问、修改(仅限列表)、转换等操作,以及各自的应用场景,能帮助我们在编程中选择更合适的数据结构,提升代码效率与可读性。无论是构建简单的任务列表,还是处理复杂的多维数据,列表与元组都是不可或缺的工具。

博客简介 1272

Python编程基础:实验2——列表及元组的使用

Python编程基础实验2——列表及元组的使用

北天的博客 2929

【Python】列表&元组

但是你有不是特别确认这个函数是否会把你的列表数据弄乱.相当于把一个列表拼接到另一个列表的后面。通过下标操作是一次取出里面第一个元素。列表和元组都是日常开发最常用到的类型。如果代码中需要表示的数据个数比较少。只会尽可能的把满足条件的元素过去到。这样的由下标构成的前闭后开区间。切片操作指定的步长还可以是负数。第一个参数表示要插入元素的下标。函数可以获取到列表的元素个数。指的是把元素一个一个的取出来。代码中需要表示的数据特别多。但是如果一次买个十根八根的。如果下标超出列表的有效范围。则是一次取出一组连续的元素。

2301_80636070的博客 782

元组怎么转换成列表_Python自学入门学习基础之一: 列表和元组

本人从事Python多年,有好多小伙伴加了我之后说:有没有相对来说简单点的教程,你写的一些大项目我们小编看不懂!!今天我就发一篇小白入门学习之一的基础,列表和元祖,欢迎大家订阅公众号:Python从程序猿到程序猿,,我会分享爬虫或者web从0基础到项目实战的一系列的视频资料,保证可以让你自学成才。列表首先,列表属于序列,那么序列类型可用如下内建函数——list(iter):把可迭代对象转换为列表。...

weixin_39883670的博客 2791

Python 基础:列表、字符串、字典和元组&一些简单八股

Python基础与数据结构摘要:本文介绍了Python编程基础及常用数据结构。Python通过解释器逐行执行代码,支持命令行和交互式两种运行模式。核心内容包括:1) BMI计算示例演示输入输出;2) 条件判断if-else结构及逻辑运算符优先级;3) 列表(List)的创建、增删改查操作,以及排序、切片等数学运算;4) 字符串(String)的不可变性及常用方法(大小写转换、连接、分割、查找替换和格式化)。文中提供了丰富的代码示例,帮助理解Python基础语法和数据结构的基本操作。

do better. 1299

Python编程——元组的定义和操作

元组是Python的基本数据类型,在下面这篇文章中,我将简单介绍一下元组的定义,常见的操作。 1. 元组的定义 Python的元组与列表类似,不同之处在于元组的元素不能修改。 在python中,元组使用小括号,列表使用方括号。 元组创建很简单,只需要在小括号中添加元素,并使用逗号隔开即可。 元组与字符串类似,下标索引从0开始,可以进行截取,组合等。 元组的格式为:元组名 = (元素1,...

橘子女侠 6543

Python基础:列表和元组

详细介绍:列表和元组,包你学得明明白白。

2401_88433210的博客 931

Python编程基础(三) | 操作列表

本文记录了《Python编程:从入门到实践》的10个基础练习,涵盖列表操作、循环、字符串格式化等核心概念。主要内容包括:使用for循环遍历比萨和动物列表(练习1-2);利用range()生成数字序列(练习3-5);列表推导式创建立方数列(练习8-9);以及切片操作提取列表元素(练习10)。这些练习通过具体案例(如百万数求和、奇数和3的倍数生成)巩固了Python基础语法,特别强调了列表处理、循环结构和range()函数的实际应用。输出结果均附有详细注释,适合初学者快速回顾Python基础知识。

qq_45203884的博客 1083

7-Python基础编程之数据类型操作——列表和元组

Python基础编程之数据类型操作——列表和元组

Eric005的博客 1001

python列表和元组

目录 一.列表是什么 二.访问创建列表 1.访问列表 1)访问列表元素 2)遍历列表 2.创建列表 函数range()创建数值列表 三.操作列表(增、删、查、改、用) 增 在列表中添加元素 删 在列表中删除元素 改 1.修改列表元素 2.对列表进行永久性排序 3.对列表进行临时排序 4.确定列表的长度 用 1.切片 2.复制列表 四.元组(不可变的列表 一.列表是什么 列表由一系列按特定顺序排列的元素组成。python中,用方括号[ ]来表示列表,用逗号..

王青宇的博客 3769
上一篇: Biogeography-based optimization 生物地理学优化算法(一):代码理解-物种数概率计算的实现
下一篇: python编程基础(四):if 语句 & 增强程序鲁棒性
sunshinefcx
博客等级 码龄9年 76粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值