第五章 列表 和 元组

掌握Python循环与序列操作的精髓 本篇博客深入解析了Python中for循环的使用方法及其与range函数的联用,以及如何通过break和continue语句控制循环流程。此外,文章还详细介绍了列表和元组的创建、查询、修改和删除操作,为Python编程提供了重要的实践指导。 阅读详情

列表和下标

  1. 列表(list)是 python 中最基本的数据结构
  2. 列表中可以包含 任意多个数据元素
  3. 列表中可以包含 任意类 型的数据元素
  4. 列表用 中括号 [ ] 定义,用 ‘ , ’ 分隔
  5. 列表中的下标从 0 开始,可以使用下标获取元素
  6. 列表也可以使用负数下标,-1 代表最后一个元素
  7. 可以使用 [ start : end : step ] 对列表进行截取
  8. 字符串是不可变数据类型,列表是可变数据类型
# 创建列表
a = [] # 空列表
b = [1,3.14,'H',False,4,5.6]

# 显示类型
print(type(b))

# 下标读取
print(b[0])
print(b[-1])

# 列表可以修改内容
b[0] = 'Hi'
print(b)

# 截取
print(b[1:4])
print(b[1::2])
print(b[::-1])

##              output               ##
    # 1
    # 5.6
    # ['Hi', 3.14, 'H', False, 4, 5.6]
    # [3.14, 'H', False]
    # [3.14, False, 5.6]
    # [5.6, 4, False, 'H', 3.14, 'Hi']

列表简单使用

  1. 使用 in 或 not in 判断列表是否包含某个元素
  2. 使用 len() 函数获取列表中的元素个数
  3. 使用 + 拼接两个列表
  4. 使用 * 重复某个列表
  5. 使用 reverse() 反序某个列表    my_list.reverse()
  6. 使用 max() 获取列表中最大的元素,列表中元素必须是同一类型(数值、字符串)            
  7. 使用 min() 获取列表中最小的元素,列表中元素必须是同一类型(数值、字符串)
  8. 使用 sort() 从小到大排序某个列表,列表中元素必须是同一类型(数值、字符串) my_list.sort()
  9. 方法:a.sort(),a.reverse()
  10. 函数:len(a),min(a),max(a)
# 创建列表
a = [1,2,3,4] # 空列表

##           in 和 not in         ##
find_number = input('Input the number that you want to find:')
find_number = int(find_number)
if find_number in a:
    print(f'{find_number} is in list a.')
else:
    print(f'{find_number} is not in list a.')

##              len()               ##
print(len(a))
print(f'The subscript of the last number in this list is {len(a)-1}')

##              拼接               ##
b = ['a','b','c','d']
print(a + b)

##              重复               ##
print(a * 3)

##              反序               ##
# 方法 1:a 本身不变
a_reverse = a[::-1]
print(f'a_reverse = {a_reverse},a = {a}')
# 方法 2:a 本身有变化
a.reverse()
print(f'a = {a}')

##              最值              ##
a = a + [5,6,7,8]
max_value = max(a)
min_value = min(a)
print(f'The maximum value = {max_value}\nThe minimum value = {min_value}')

##              排序              ##
a = [1,3,5,2,7,9,0]
a.sort()
print(a)

##              output               ##
    # Input the number that you want to find:5
    # 5 is not in list a.
    # 4
    # The subscript of the last number in this list is 3
    # [1, 2, 3, 4, 'a', 'b', 'c', 'd']
    # [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
    # a_reverse = [4, 3, 2, 1],a = [1, 2, 3, 4]
    # a = [4, 3, 2, 1]
    # The maximum value = 8
    # The minimum value = 1
    # [0, 1, 2, 3, 5, 7, 9]

修改查找元素

  1. 对列表的主要操作是 增删改查
  2. 对元素直接赋值进行修改
  3. 使用下标查找元素内容
  4. 查找制定内容首次出现的下标    my_list.index()
  5. 查找指定内容出现的次数  my_list.count()
a = [1,2,3,4,5,6]

a[1] = 5
print(a)
# 修改某个值

value = a[1]
print(value)
# 查找某个值

print(a.index(5))
# 通过元素内容,查找它在列表中首次出现的位置

print(a.count(5))
# 通过元素内容,查找它在列表中出现的次数

b = ['周一','周二','周三','周四','周六','周五','周日']
b[4],b[5] = b[5],b[4]
print(b)
# 交换列表中元素的位置

s = '周一,周二,周三,周四,周五,周六,周日'
string = s.split(',')
print(string)
s2 = '*'.join(string) # string 中必须全部都是字符串类型
print(s2)

###                output                     ###
    # [1, 5, 3, 4, 5, 6]
    # 5
    # 1
    # 2
    # ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    # ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    # 周一*周二*周三*周四*周五*周六*周日

增加元素

  1. 向列表末尾添加新元素                      my_list.append(5)
  2. 向指定位置(1)插入指定元素(Hi)        my_list.insert(1,'Hi')
  3. 在列表末尾追加多个元素                  my_list.extend([5,6,7])
a = [1,2,3,4]
a.append(5)
print(a)
#  [1, 2, 3, 4, 5]

b = [1,2,3,4]
b.insert(2,2.5)
print(b)
# [1, 2, 2.5, 3, 4]
b.insert(100,5)
print(b)
# [1, 2, 2.5, 3, 4, 5]
b.insert(-2,9)  # 先将负数位置的正数坐标求出来,再放置到正数的位置
print(b)
# [1, 2, 2.5, 3, 9, 4, 5]

c = [1,2,3,4]
c.extend([5,6,7])
print(c)
# [1, 2, 3, 4, 5, 6, 7]
c_plus = [9,10]
c.extend(c_plus)
print(c)
# [1, 2, 3, 4, 5, 6, 7, 9, 10]
s = 'Hello'
c.extend(s)
print(c)
# [1, 2, 3, 4, 5, 6, 7, 9, 10, 'H', 'e', 'l', 'l', 'o']
c.extend([s])
print(c)
# [1, 2, 3, 4, 5, 6, 7, 9, 10, 'H', 'e', 'l', 'l', 'o', 'Hello']

删除元素

  1. 移除最后一个元素                my_list.pop()
  2. 移除指定下标位置的元素     my_list.pop(2)
  3. 移除指定下标位置的元素     del my_list[2]
  4. 移除指定的内容                    my_list.remove('b')
  5. 清空列表                               my_list.clear()
a = [1,3,5,7,9]

a.pop()
print(a)
# [1, 3, 5, 7]
value = a.pop()      # pop 方法可以知道哪个元素被移除掉了
print(f'value = {value}')
# value = 7
a.pop(2)
print(a)
# [1, 3]
a.pop(-1)
print(a)
# [1]

b = [1,3,5,7,9]
del b[-2]            # del 方法不能知道哪个元素被移除掉
print(b)
# [1, 3, 5, 9]

c = [1,3,5,7,3,9]
c.remove(3)          # 知道删除的内容,但是不知道下标;有重复的话,只能删除第一个
print(c)
# [1, 5, 7, 3, 9]

d = [1,3,5,7,9]
d.clear()
print(d)
# []

元组

  1. 列表(list)是一种有序容器,元组(tuple)也是一种有序容器
  2. 列表用  [  ]  表示,元组用 ( )表示
  3. 元组也是使用下标进行元素索引,下标从0开始
  4. 元组也可以截取
  5. 区别:元组是不可变类型,列表是可变类型
  6. 元组没有增删改,只能查
  7. 常用来存放关联性很强的元素   position = (12,10),color = (255,255,255)
  8. 系统处理元组的速度要比处理列表的速度快
  9. 元组可以作为字典的 key,列表不可以
a = (1,2,3)  # a = 1,2,3
print(type(a))
# <class 'tuple'>
b = (1)      # b = 1
print(type(b))
# <class 'int'>
b = (1,)     # b = 1,
print(type(b))
# <class 'tuple'>

print(a[2])            # 3
print(a[::-1])         # (3, 2, 1)
print(a + b)           # (1, 2, 3, 1)
print(a * 3)           # (1, 2, 3, 1, 2, 3, 1, 2, 3)
print(4 in a)          # False
print(max(a))          # 3
print(len(a))          # 3
print(a.count(3))      # 1
print(a.index(2))      # 1

t = 1,2,3
a,b,c = t
print(f'a = {a},b = {b},c = {c},t = {t}')
# a = 1,b = 2,c = 3,t = (1, 2, 3)

列表嵌套

  1. 列表中可以存放任意类型的元素,可以是列表类型
  2. 列表嵌套也叫二维列表
  3. 获取元素 my_list[1][0]
stu1 = ['小明',95]
stu2 = ['小红',86]
stu3 = ['小王',68]

students = [stu1,stu2,stu3]
# students = [['小明',95],['小红',86],['小王',68]]
# students = [
#     ['小明',95],
#     ['小红',86],
#     ['小王',68]
# ]
print(students)
# [['小明', 95], ['小红', 86], ['小王', 68]]

print(f'{students[0][0]}的分数:{students[0][1]}')
# 小明的分数:95

列表练习

例 1. 创建一个有 10 个元素的列表

  1. 值是 [30,31,30,31,30,31,30,31,30,31]
  2. 将下标为 0 的元素删除
  3. 将下标为 1 的元素值改为 28
  4. 在下标为 7 的位置插入一个元素 31
  5. 在列表末尾追加 2 个元素:30,31
###  创建和修改列表   ###
# 1. 创建一个列表
my_list = [30,31] * 5
# 2. 将下标为 0 的元素删除
del my_list[0]
print(my_list)
# 3. 将下标为 1 的元素值改为 28
my_list[1] = 28
print(my_list)
# 4. 在下标为 7 的位置插入一个元素 31
my_list.insert(7,31)
print(my_list)
# 5. 在列表末尾追加 2 个元素:30,31
my_list.extend([30,31])
print(my_list)

# 6. output
# [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

例 2. 提示用户输入一个 1 - 12 之间的整数数值表示月份,然后在控制台显示用户输入的这个月份有多少天

# 1. 提示用户输入一个 1-12 之间的整数月份
month = input('请输入一个月份:')

# 2. 判断用户输入的月份有多少天
day = 0
if month:
    month = int(month)
    if 1 <= month <= 12:
        if month in (1,3,5,7,8,10,12):
            day = 31
            print(f'{month}月份有{day}天')
        elif month == 2:
            print(f'2月份有28天(平年)或者29天(闰年)')
        else:
            day = 30
            print(f'{month}月份有{day}天')
    else:
        print('输入错误!请输入1-12之间的整数!')
else:
    print('错误!!!没有检测到输入!!!')

 

高分系列卫星轨道、传感器参数等信息 遥感卫星数据简介-高分系列 阅读详情

相关推荐

Keil5保姆级安装指南:从破解到STM32开发环境配置(附常见错误解决方案)

本文提供Keil5从安装到STM32开发环境配置的完整指南,包含破解步骤、常见错误解决方案及多芯片支持配置。详细讲解环境预检、核心安装、许可证管理及高效开发环境设置,帮助开发者快速搭建嵌入式开发平台。特别针对安装和卸载过程中的关键问题提供专业解决方案。

weixin_30369041的博客 124

python中怎么合并列表_python怎么合并列表

python怎么合并列表?下面给大家带来三种方法:打开python语言命令窗口,定义一个列表a并使用数值赋值,如下图所示:>>> a=[11,22,33,44,55,66,77,88];>>> a[11, 22, 33, 44, 55, 66, 77, 88]再次定义一个列表b,使用数值类型对列表进行赋值,如下图所示:>>> b=[12,23,...

weixin_35347870的博客 1310

GDSFactory环境配置实战:Python、KLayout与PDK协同指南

GDSFactory是面向光子集成电路(PIC)设计的Python参数化建模框架,其核心价值在于将版图生成从手动绘图升维为可编程、可复现、可集成CI/CD的工程实践。它依赖Python科学计算生态(如NumPy)、EDA可视化工具KLayout的深度Python绑定,以及工艺厂PDK的标准化接入,三者构成‘计算-几何-工艺’技术闭环。典型应用场景包括教学级SiEPIC PDK快速原型、工业级AIM Photonics流片准备,以及自动化DRC与光学仿真流水线构建。本文聚焦GDSFactory落地中最关键也最

weixin_30983353的博客 369

Python之列表(list)基础知识点

del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等,但不能是单个的数字。需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。使用+运算符可以将多个序列连接起来;当插入列表或者元祖时,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。

酒酿小圆子呀~ 3650

GaN功率放大器设计避坑指南:从仿真到实测的Doherty PA完整流程(基于ADS 2023)

本文详细介绍了基于ADS 2023软件,从理论计算、电路仿真到版图后仿真的GaN Doherty功率放大器完整设计流程。文章聚焦C波段应用,深入剖析了负载调制网络设计、稳定性处理、版图电磁仿真等关键环节中的常见误区与工程折衷,为工程师提供了一套从设计到实测的实战避坑指南。

weixin_29238147的博客 530

热力学仿真软件:ANSYS CFX_(15).旋转机械仿真

创建旋转域在中选择需要设置为旋转域的区域。选择选项。设置旋转速度在设置中,指定旋转速度(单位为弧度/秒)。也可以选择选项,并输入具体值。设置旋转轴在设置中,指定旋转轴的方向和位置。通常旋转轴的方向可以使用单位向量来表示,例如[0, 0, 1]表示沿Z轴旋转。旋转轴的位置可以通过指定一个点的坐标来确定,例如[0, 0, 0]表示旋转轴通过原点。旋转机械的仿真在ANSYS CFX中是一个复杂但重要的过程。

kkchenjj的博客 1159

列表函数练习

(由于提交处未给出明确的正误判断,还望采用的同志在评论区反馈一下是否需要修改)【样例输出】最高是 194,最低是 172,平均身高是 183.5。【问题描述】输入若干学生身高,求出身高的最大值、最小值和平均值。【输入形式】依次输入若干个学生身高信息,输入0表示结束。【输出形式】依次输出学生身高的最大值、最小值、平均值。

zhanghongyi_cpp的博客 852

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

机器学习深度学习业余选手 479

Python基础语法系列9-列表详解

列表(list) 序列是Python中最基本的数据结构。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,其数据类型名是:list。 1 列表的创建 列表对应的值是一个方括号内用逗号将多个数据隔开。列表的数据项(元素)不需要具有相...

yuting209的专栏 1351

(王道408考研数据结构)第八章排序-第一节:排序综述

文章目录一:排序一览二:简单插入排序(1)基本思想 一:排序一览 排序方法 类别 本文 时间复杂度 是否稳定 直接插入排序 插入排序 跳转 O(n2)O\left ( n^{2}\right )O(n2) 是 二叉树深度 简单 跳转 LeetCode 递归 翻转二叉树 简单 跳转 LeetCode 递归 相同的树 简单 跳转 LeetCode 递归 是否为子树 简单 跳转 LeetCode 递归 对称二叉树 简单 跳转 LeetCode 递归 平衡二叉树 简单 跳转

快乐江湖的博客 5488

Kubernetes(K8s)从入门到精通系列之一:一篇文章了解K8s全部核心知识点

Kubernetes(K8s)从入门到精通系列之一:一篇文章了解K8s全部核心知识点

zhengzaifeidelushang的博客 849

sort() sorted()

下面介绍分别介绍一下2个函数: 1.有一个列表 :a=[1,4,5,88,0,7],想要实现排序功能,可以使用sort() 和 sorted(); a.sort() #默认升序排列 print(a) 输出:[0, 1, 4, 5, 7, 88] a.sort(reverse=True) #reverse=True,升序排列。默认FALSE:升序...

weixin_44088837的博客 1528

Cesium初级开发教程之三十:Primitive集合

教程示例网站:https://thomaz529.github.io。

484

第五章 列表和元组

格式:序列名称【开始位置(包括):截止位置(不包括):步长(省略默认为1)】python的索引可以是负数,从右往左计数,最后一个是-1。切片:可以访问一定范围的元素,或生成一个新的序列。格式:要检查的元素 in 指定的序列。和列表差不多,【】变为()

yf743909的博客 96

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

第五章 列表、元组和字符串

终于有东西可以写了。

LanGui_3000博客 162

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Python 第五章 列表、元组和字符串

python的变量没有数据类型,所以Python的“数组”可以存放不同类型的变量,将其称为“列表”。

weixin_44895924的博客 267

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python创建元组并输出_Python基础入门第五章列表元组和字符串

第五章列表、元组和字符串5.1列表(由于Python的变量没有数据类型,python是没有数组的,加入更强大的list)5.1.1创建列表>>>number = [1, 2, 3, 4, 5]>>>mix = [1, "小甲鱼", 3.14 ,[1,2, 3] ]empty = []5.1.2向列表中添加元素>>>number = ...

weixin_39677203的博客 2349

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【4】

5.1.9 关于分片“拷贝”的概念补充 【真正的拷贝是切片】 代码 list1=[1,3,2,9,7,8] list2=list1[:] print(list2) list3=list1 print(list3) ---------------------- [1, 3, 2, 9, 7, 8] [1, 3, 2, 9, 7, 8] 以上代码看似一样的输出结果,事实上呢,作如下修改后 ...

weixin_30375427的博客 116

2021-10-06 python从入门到精通--第五章 列表和元组

序列 索引 i = [1, 2, 3, 4, 5] i[0] = 1 i[-1] = 5 切片 i[0:4:2] #[1, 3] i[0:4] #[1, 2, 3, 4] i[:] #[1, 2, 3, 4, 5] 序列相加 i = [1, 2, 3, 4, 5] j = [‘a’, ‘b’, ‘c’, ‘d’] k = i + j k #[1, 2, 3, 4, 5, ‘a’, ‘b’, ‘c’, ‘d’] 乘法 i = [1, 2, 3] j = i * 3 j #[1, 2, 3, 1, 2,

weihua1643的博客 1273

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【1】

5.1 列表:一个“打了激素”的数组 很多编程语言里,数组是把一大堆同类型的数据挨个摆在一起,然后通过数组下标进行索引。 Python没有数组,但是Python加入了更为强大的【列表】。5.1.1 创建列表 例如 number=[1,2,3,4,5] 打了激素过后 例如 mix=[1,"daodantou",3.14,[1,2,3]] 鱼龙混杂的列表 也可以空列表 mix=[]5.1....

weixin_30401605的博客 110

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【3】

5.1.8 列表的小伙伴们 代码 print(dir(list)) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '...

weixin_30311605的博客 107

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【2】

5.1.7 一些常用操作符 代码 lis1=[123] lis2=[456] print(lis1>lis2) ---------------- False lis1=["abc"] lis2=["bcd"] pirnt(lis1<lis2) ---------------- True 列表很聪明,知道比较大小,但是如果有多个元素呢? 代码 lis1=[123,456] l...

weixin_30832983的博客 97

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【8】

3 Python的转义字符及含义 ------------------------------------- \'单引号 \r回车符 \"双引号 \f换页符 \a发出声 \o八进制代表的字符 \b退格键 \x十六进制代表的字符 \n换行符 \0表示一个空字符 \t横向制表符 \\反斜杠 \v纵向制表符 --...

weixin_30535843的博客 225

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【6】

5.3.1 字符串的各种内置方法 表5-1很多暂时略掉!!!!!!!!! 选择几个常用的演示一下 casefold()方法,它的作用是将字符串的所有字符变为小写 代码 str1="DaoDanTou" print(str1.casefold()) ------------------------ daodantou count(sub[,start[,e...

weixin_30780221的博客 108

Python快速编程入门#学习笔记05# |第五章 :组合数据类型(列表、元组、集合和字典 )

目录一、认识组合数据类型二、列表2.1 创建列表2.2 访问列表元素2.3 添加列表元素2.4 元素排序2.5 删除列表元素2.6 列表推导式三、元组实例训练1. 十大歌手2.神器魔方阵四、集合五、字典5.1 创建字典5.2 字典的访问5.3 字典元素的添加和修改5.4 字典元素的删除5.5 字典推导式实例训练1.青春有你2.手机通讯录组合数据类型与运算符 一、认识组合数据类型 二、列表 2.1 创建列表 2.2 访问列表元素 2.3 添加列表元素 2.4 元素排序 2.5 删除列表元素 2.6 列表推

Naiva的博客 2796
上一篇: 第四章 判断语句
下一篇: 第六章 循环语句
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值