列表(lists)

article/2025/9/26 15:42:16

Lists and the things you can do with them.Includes indexing(索引),slicing (切片)and mutating(变异).
1.Python 中的列表表示有序的值序列。
以下是如何创建它们的示例:

primes = [2,3,5,7]
#我们可以将其他类型的东西放在列表中:
planets = ['Mercury','Venus','Earth','Mars',
'Jupiter','Saturn','Uranus','Neptune']
#我们甚至可以列出列表(make a list of lists):
#列表套列表
hands = [
['J','Q','K'],
['2','2','2'],
['6','A','K'],
]
#横着书写
hands = [['a','a','d'],[1,2,3],['w','d','1']]
#一个列表可以包含不同类型的变量的混合:
my_favourite_things = [32,'raindrops on ross',help]

2.索引(indexing)
您可以使用方括号(square brackets)访问单个列表元素(individual list elements)。

#python的计数是从0开始的
planets[0]
planets[1]
#可以使用负数访问列表末尾的元素,从 -1 开始:
planets[-1]
planets[-2]

3.slicing(切片)

#前三颗行星是什么?我们可以使用切片来回答这个问题:
planets[0:3]
#切片的作用,包括0,不包括3,planets[0:3] 是我们从索引 0 开始并持续到但不包括索引 3 的行星元素的查询方式。
#0可以省略
planets[:3]
#如果我省略了结束索引,则假定它是列表的长度。
planets[3:]
#即上面的表达意思是“给我从索引 3 开始的所有行星”。
#我们也可以在切片时使用负索引:
planets[1:-1]
planets[-3:]

4.changeing lists(更改列表)
列表是“可变的”(multable),这意味着它们可以“就地”修改。
修改列表的一种方法是分配给索引或切片表达式。

#例如,假设我们要重命名 Mars:
planets[3] = "Malacandra"
#前三颗行星的名字缩写
planets[:3] = ['Mur','Vee','Ur']

5.List functions
Python 有几个有用的函数来处理列表。

  • len():给出列表的长度
  • stored():返回列表的排序版本
  • sum():sum dose what you might expect
  • max():pass in a single list argument(传入一个列表参数)

6.objects(对象)
到目前为止,我已经多次使用“对象”这个术语——你甚至可能已经读过 Python 中的一切都是对象。这意味着什么?简而言之,对象会随身携带一些东西。您可以使用 Python 的点语法访问这些内容。例如,Python 中的数字带有一个名为 imag 的关联变量,表示它们的虚部。 (除非您正在做一些非常奇怪的数学运算,否则您可能永远不需要使用它。)

x = 12
print(x.imag)
c = 12 + 3j
print(c.imag)
x.bit_length

对象携带的东西也可以包括功能。附加到对象的函数称为方法。 (附加到对象的非功能性事物,例如 imag,称为属性(attribute)。
7.列表有几种你会一直使用的方法

  • list.append():l通过在末尾添加一个项目(item)来修改列表
  • list.index():获取list的索引
    -list.pop():list.pop 移除并返回列表的最后一个元素

8.Tuples(元组)
元组几乎与列表完全相同。它们仅在两个方面有所不同。
1:创建它们的语法使用括号(parentheses)而不是方括号(square brackets)
2.元组不可以被修改

t = (1,2,3)
#or
t = 1,2,3

元组通常用于具有多个返回值的函数。
例如,float 对象的 as_integer_ratio() 方法以元组的形式返回一个分子和一个分母:

x = 0.125
x.as_integer_ratio()
#这些多个返回值可以按如下方式单独分配:
numerator ,denominator = x.as_integer_ratio()
print(numerator/denominator)

最后,我们对用于交换两个变量的经典 Stupid Python Trick有了一些了解!

a = 0
b = 1
a,b = b,a 
print(a,b)

练习
1.给出一个list,如果长度有2,则调取;否则返回None

def select_second(L):if len(L) >= 2:return L[1];else:return None
#方法2
def select_second(L):if len(L) < 2:return Nonereturn L[1]

2.您正在分析运动队(sport teams)。每个团队的成员都存储在一个列表中。教练(coach)是列表中的第一个名字,队长(captain)是列表中的第二个名字,然后是其他球员。这些列表存储在另一个列表中,该列表从最好的团队开始,然后通过列表进行到最差的团队。完成以下功能,选出最差队伍(list[-1])的队长(lisr[1])。

def losing_team_captain(teams):""" Given a list of teams,where each team is a list of names,return the 2nd player"""return teams[-1][1]

在这里插入图片描述

3.《马里奥赛车》(Mario Kart)的下一个版本将采用一个令人愤怒的新物品,紫壳(Purple Shell)。使用时,它将最后一名的赛车手变成第一名,将第一名的赛车手变成最后一名。完成下面的函数来实现紫壳的效果。

def purple_shell(racers):racers[0],racers[-1] = racers[-1],racers[0]
#or
def purple_shell(racers):temp = racers[0]racers[0] = racers[-1]racers[-1] = temp

4.以下列表的长度是多少?用您的预测填写可变长度。 (尝试对每个列表进行预测,而不仅仅是调用 len() 。)

#最外面的一个括号
a = [1,2,3]
b = [1,[2,3]]
c = [] #长度为0
d = [1,2,3][1:]  #长度为2

在这里插入图片描述
5.我们使用列表来记录参加我们聚会的人以及他们到达的顺序。例如,以下列表代表一个有 7 位客人的聚会,其中 Adela 最先出现,而 Ford 是最后到达的:
party_attendees = [‘Adela’, ‘Fleda’, ‘Owen’, ‘May’, ‘Mona’, ‘Gilbert’, ‘Ford’]
如果客人在至少一半的派对客人之后到达,则客人被认为是“时尚迟到”。
但是,他们不能是最后一位客人(这太过分了)。
在上面的例子中,莫娜和吉尔伯特是唯一时髦迟到的客人。
完成下面的函数,它需要一个派对参与者的列表以及一个人,并告诉我们这个人是否时尚迟到。

def fashionably_late(arrivals,name):order = arrivals.index(name)return order >= len(arrivals) /2 order != len(arrivals) -1
#索引值在中间,并且索引值不为最后一个,也就是len(arrivals)-1

http://chatgpt.dhexx.cn/article/rovx9bsW.shtml

相关文章

Android Preference API 用法--ListPreference(一)

一&#xff0e;ListPreference简介 我们都只知道SharedPreference非常适合于参数设置功能&#xff0c;在此处的preference 也是代表SharedPreference的意思&#xff0c;在SharedPreference中&#xff0c;我们可以迅速的将某些值保存进xml文件中&#xff0c;然后我们可以读取这…

android entries属性,ListPreference需要设置两个属性:android:entries和android:entryValues...

android:defaultValue"black" android:entries"array/setting_skintheme" android:entryValues"array/setting_skintheme_value" android:key"SkinTheme" android:summary"请选择您喜欢的软件皮肤颜色" android:title"…

Android ListPreference的用法

首先&#xff0c;我们明确&#xff0c;preference是和数据存储相关的。 其次&#xff0c;它能帮助我们方便的进行数据存储&#xff01;为什么这个地方一定要强调下方便的这个词呢&#xff1f;原因是&#xff0c;我们可以根本就不使用&#xff0c;我们有另外的N种办法可以实现同…

List总结

ArrayList与LinkedList的区别是什么&#xff1f; 从继承树&#xff0c;底层数据结构&#xff0c;线程安全&#xff0c;执行效率来进行分析。 1.底层使用的数据结构 ArrayList 底层使用的是Object数组&#xff0c;初始化时就会指向的会是一个static修饰的空数组&#xff0c;数…

android Preference ListPreference EditTextPreference

android中包含Preference ListPreference EditTextPreference等控件布局的写法&#xff0c;已经操作各个控件的事件介绍&#xff0c;如下 <?xml version"1.0" encoding"utf-8"?> <PreferenceScreen xmlns:android"http://schemas.android…

Android中ListPreference的使用

这篇主要是具体例子&#xff0c;可以先看一下理论&#xff0c;网址是&#xff1a;Android中Preference的使用以及监听事件分析 我们可以先看一下效果图 我们先截取不小段布局&#xff0c;代码如下&#xff1a; <ListPreferenceandroid:defaultValue"string/usb_defaul…

list列表的用法

List&#xff08;列表&#xff09;是 Python中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同&#xff0c;它支持数字&#xff0c;字符串甚至可以包含列表&#xff08;所谓嵌套&#xff09;。列表是写在方括号 [ ] 之间&#xff0…

List 列表的用法

List&#xff08;列表&#xff09; 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同&#xff0c;它支持数字&#xff0c;字符串甚至可以包含列表&#xff08;所谓嵌套&#xff09;。列表是写在方括号 [ ] 之间、用逗号…

自定义ListPreference弹出Dialog背景

公司最近项目需求是用实体键来在应用内操作,这就需要对那些可点击的widget的背景进行自定义,使其响应focus状态随即变化。大部分的layout改动都是挺简单的。 但是遇到一个主要的问题就是自带的PreferenceFragment,里面的layout不是通过平时常用的Button ImageView那些来写的…

android之ListPreference的用法_PreferenceActivity用法

首先&#xff0c;我们明确&#xff0c;preference是和数据存储相关的。 其次&#xff0c;它能帮助我们方便的进行数据存储&#xff01;为什么这个地方一定要强调下方便的这个词呢&#xff1f;原因是&#xff0c;我们可以根本就不使用&#xff0c;我们有另外的N种办法可…

ListPreference详解与使用

listprefenence比switchpreference多了一个arrays.xml&#xff0c;这个arrays.xml就是用来写我们需要的list的内容。 以切换mode功能为例&#xff0c;就是切换协议的mode&#xff0c;一共需要五个选项。除了switchpreference中的key&#xff0c;title&#xff0c;summary和pers…

互联网协议 — TCP — 流量控制

目录 文章目录 目录TCP 流量控制流量控制处理流程 TCP 流量控制 TCP 流量控制由滑动窗口&#xff08;Sliding Window&#xff09;技术支撑。Sender 根据 Receiver 返回 ACK 中包含的 Window Size 字段来动态调整自身发送 Segments 的速率&#xff0c;以此保证收发双方不会因为…

电信网络性能质量测量

电信网络性能质量测量 作者:千里孤行(http://blog.csdn.net/yanghehong) 为什么要有质量和性能的测量 • 验证系统架构,配置 • 定位已有问题 • 及早发现潜在问题 • 为系统架构演进提供数据支持 服务质量的四个视角 服务质量的网络部分和非网络部分 从网络角度出发, QoS…

网络性能指标简介

网络性能指标简介 1. 网络容量&#xff08;Network Capacity&#xff0c;NC&#xff09; 网络容量是描述无线网络性能的最重要的指标之一&#xff0c;该指标使得人们在给定无线信道的基本容量限制的条件下&#xff0c;能够确定一些应用在理论上是否可行。网络容量通常指理论上…

基于神经网络的天气质量指数预测

基于神经网络的空气质量指数预测 1 项目背景 1.1背景 随着我国经济的快速发展&#xff0c;大量的工厂企业以及尾气排放使得大气环境污染日益严重&#xff0c;所以大气污染的预测防治工作应该加大力度[1]。通过预测未来影响空气质量指数的污染物浓度&#xff0c;实现我们对短…

腾讯海外轻量服务网络质量下降原因和解决方法

腾讯海外轻量服务网络质量下降原因和解决方法 腾讯海外轻量服务网络质量下降原因和解决方法问题背景问题原因影响这个问题是否会自动解决呢?解决方案有吗?方案一: GAME加速.方案二: 使用优质带宽的中转服务器方案三: 让你的服务器提供方帮你一站式解决问题 腾讯海外轻量服务网…

NQA网络质量分析

NQA网络质量分析&#xff0c;是一种实时的网络性能探测和统计技术&#xff0c;可以对响应时间、网络抖动、丢包率等网络信息进行统计NQA能实时监视网络QOS&#xff0c;在网络发生故障时有效的诊断和定位。&#xff08;和BFD不同&#xff0c;BFD像侦测兵报告错误&#xff0c;NQA…

网络测量指标

文章目录 1 性能类指标1.1 时延1.2 带宽1.3 丢包 2 流量类指标3 拓扑类指标3.1 拓扑结构中心性3.2 拓扑结构相似性3.3 拓扑结构鲁棒性3.4 其他 1 性能类指标 1.1 时延 时延指一个报文或分组从网络的一端传送到另一端所需要的时间&#xff0c;包括发送时延&#xff08;传输时延…

直播网络质量检测流程

**目录 一、检测定义 2 1.1直播卡顿检测 2 1.2高延迟检测 2 1.3线路切换检查 2 二、时序图 3 2.1播放控制 3 2.2故障控制 4 三、 检测流程图 5 3.1卡顿延迟检测流程 5 3.2线路切换流程 6**一、检测定义 1.1直播卡顿检测 1、计录每秒接收帧数&#xff0c;共N&#xff08;默认值…

如何快速测试网络链路质量?

在我们日常工作、学习、上网过程中经常会遇到网络卡、慢、时断时续的现象&#xff0c;企业的信息中心或是网络中心经常会接到这样的投诉&#xff0c;那这个网络故障到底是由什么原因引起的呢&#xff1f;这是个非常复杂的事情&#xff0c;解决起来也是比较头疼&#xff0c;特别…