百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

对Python中序列的个人理解

itomcoil 2025-05-27 14:53 4 浏览

序列指的是一块连续内存空间存放多个值,在python中,序列类型包括字符串、列表、字典、元组、集合。其中包括字符串、列表、元组为有序序列,字典、集合属于无序序列。例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print(name,type(name),sep=":")
print(classes,type(classes),sep=":")
print(teacher,type(teacher),sep=":")
print(gender,type(gender),sep=":")
print(cities,type(cities),sep=":")

上述输出结果为:

张三丰:<class 'str'>
['一班', '二班', '三班']:<class 'list'>
{'name': '张三丰', 'age': 105, 'gender': '男'}:<class 'dict'>
('男', '女'):<class 'tuple'>
{'广州', '北京', '上海', '杭州'}:<class 'set'>

(一)、索引下标

有序序列中每个元素都有自己的编号,这个编号就是索引下标。从左向右索引下标逐渐增大。若从左向右,则索引下标从0开始递增;若从右向左,则索引下标从-1开始递减。字典和集合属于无序序列,不存在索引下标。

(二)、和序列相关的通用内置函数

1、len()

该函数可以用来计算序列的长度,即获取序列中元素的个数。例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print("name长度为",len(name),sep=":")
print("classes长度为",len(classes),sep=":")
print("teacher长度为",len(teacher),sep=":")
print("gender长度为",len(gender),sep=":")
print("cities长度为",len(cities),sep=":")

上述输出结果为:

name长度为:3
classes长度为:3
teacher长度为:3
gender长度为:2
cities长度为:4

2、join()

该函数可以用来通过指定连接符连接序列中的元素,并返回连接后的序列,例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print(" ".join(name))
print("|".join(classes))
print(";".join(teacher))
print("?".join(gender))
print("~".join(cities))

上述输出结果为

张 三 丰
一班|二班|三班
name;age;gender
男?女
广州~北京~上海~杭州

注:利用该函数对字典运用连接符进行连接时,会对字典所有的键进行连接,而非键值对

3、max()

该函数可以用来获取序列中的最大元素,例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print("name中的最大值为:",max(name),sep=":")
print("classes中的最大值为:",max(classes),sep=":")
print("teacher中的最大值为:",max(teacher),sep=":")
print("gender中的最大值为:",max(gender),sep=":")
print("cities中的最大值为:",max(cities),sep=":")

上述输出结果为:

name中的最大值为::张
classes中的最大值为::二班
teacher中的最大值为::name
gender中的最大值为::男
cities中的最大值为::杭州

注:利用该函数取得字典中最小值时,其本质是获取字典所有键的最大值。

另外,max()函数还可以通过参数key设置获取最大值的规则,可以是函数,也可以是lambda表达式,例如:

list1=[-4,-1,2,3] # 定义一个变量list1,并赋值为[-4,-1,2,3]

# 获取no2的值
def getnum(no):
    return no*2
print(max(list1,key=getnum)) # 指定key为getnum函数
print(max(list1,key=lambda x:abs(x))) # 指定key为lambda
print(max(list1,key=abs)) # 指定key为内置函数

上述输出结果为:

3
-4
-4

4、min()

该函数可以用来获取序列中的最小元素,例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print("name中的最大值为:",min(name),sep=":")
print("classes中的最大值为:",min(classes),sep=":")
print("teacher中的最大值为:",min(teacher),sep=":")
print("gender中的最大值为:",min(gender),sep=":")
print("cities中的最大值为:",min(cities),sep=":")

上述输出结果为:

name中的最大值为::三
classes中的最大值为::一班
teacher中的最大值为::age
gender中的最大值为::女
cities中的最大值为::上海 

注:关于min()函数获取字典中的最小元素以及参数key的使用,可以参考max()函数的使用。

5、sorted()

该函数的可以用来对序列中的元素进行排序并以列表的形式返回,默认是升序,并且不会改变序列本身的顺序,可通过设置reverse=True将排序方式改为降序。例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print(name,sorted(name),sorted(name,reverse=True),sep="|")
print(classes,sorted(classes),sep="|")
print(teacher,sorted(teacher),sep="|")
print(gender,sorted(gender),sep="|")
print(cities,sorted(cities),sep="|")

上述输出结果为:

张三丰|['三', '丰', '张']|['张', '丰', '三']
['一班', '二班', '三班']|['一班', '三班', '二班']
{'name': '张三丰', 'age': 105, 'gender': '男'}|['age', 'gender', 'name']
('男', '女')|['女', '男']
{'杭州', '北京', '上海', '广州'}|['上海', '北京', '广州', '杭州']


注:关于sorted()函数对于字典进行排序时,其本质为对字典中的键进行排序。

7、reversed()

该函数可以用来对序列(集合除外)中的元素进行逆序排列,返回的是一个可迭代的reversed对象,且该函数不会改变序列本身的顺序,例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print(name," ".join(reversed(name)),sep="|") # 利用join()函数对reversed内部元素进行显示
print(classes," ".join(reversed(classes)),sep="|")
print(teacher," ".join(reversed(teacher)),sep="|")
print(gender," ".join(reversed(gender)),sep="|")

上述输出结果为:

张三丰|丰 三 张
['一班', '二班', '三班']|三班 二班 一班
{'name': '张三丰', 'age': 105, 'gender': '男'}|gender age name
('男', '女')|女 男

注:字典和集合同为无序列表,但是字典支持reversed()函数,而集合不支持,这是因为在字典内部是一个OrderedDict,该类型会保存插入键值对时键的添加顺序;而集合内部没有保存数据的添加顺序,所以无法进行逆序reversed()。

(三)、判断元素是否在序列中

1、in

python中提供了in关键字,用于判断某个元素或者子序列是否在序列中。如果在,返回True;如果不在,则返回False。例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print("张" in name) # 判断字符张是否在name中存在
print("一班" in classes) # 判断一班是否存在classes中
print("address" in teacher,"张三丰" in teacher) # 判断address和张三丰是否在teacher中
print("男" in gender) # 判断男是否存在gender中
print("郑州" in cities) # 判断郑州是否存在cities中

上述输出结果为:

True
True
False False
True
False

2、not in

python中提供了not in关键字,判断某个元素或者子序列是否在序列中,如果不在,返回True,如果在,则返回False。例如:

# 定义变量name,并赋值为字符串"张三丰"
name="张三丰"
# 定义变量classes,并赋值为列表['一班',"二班","三班"]
classes=['一班',"二班","三班"]
# 定义变量teacher,并赋值为字典{"name":"张三丰","age":105,"gender":"男"}
teacher={"name":"张三丰","age":105,"gender":"男"}
# 定义变量gender,并赋值为元组("男","女")
gender=("男","女")
# 定义变量cities,并赋值为集合{"北京","上海","广州","杭州"}
cities={"北京","上海","广州","杭州"}
print("张"  not in name) # 判断字符张是否在name中存在
print("一班" not in classes) # 判断一班是否存在classes中
print("address"not in teacher,"张三丰" not in teacher) # 判断address和张三丰是否在teacher中
print("男" not in gender) # 判断男是否存在gender中
print("郑州" not in cities) # 判断郑州是否存在cities中

上述输出结果为:

False
False
True True
False
True

注:in 和not in 关于字典的操作,键和值均会参与判断。


优秀的人永远都在提升自己

相关推荐

python学习——029统计【字典的列表】里符合条件元素数量

方式一:使用普通for循环students=[{'name':'jack','points':100},{'...

玩转Python—列表使用教程

上一讲给大家介绍了Python的列表,今天继续给大家介绍Python中列表的使用。1.列表的元素的赋值#实例>>>num=[1,2,3,4,5,6,7,7,8,8,9]>...

python学习——030如何将列表中的元素按要求分类

方法一:原代码方法(使用while循环结合pop方法)创建了numbers列表的一个副本temp_numbers,在循环中对temp_numbers进行操作,保证原列表numbers的内...

Python 条件判断教程

Let'sdivein!1.基本的if语句(ifStatement)在Python中,if语句用来根据条件执行代码块。当条件为True(真)时,代码块将被执行;否则,...

list列表基本操作

【实验目的】1、掌握list列表的基本操作【实验原理】列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字-它...

Python变量类型判断方法详解

技术背景在Python编程中,变量类型的判断是一项基础且重要的操作。由于Python是动态类型语言,变量的类型在运行时才能确定,因此在开发过程中,我们常常需要明确变量的类型,以便进行相应的操作。同时,...

基础知识详解:Python any()函数的使用方法(含示例代码)

前言:今天为大家带来的内容是:Pythonany()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢本文章内容的朋友,一定不忘点赞转发关注收藏不迷...

新手学Python避坑,学习效率狂飙! 八、Python 布尔值判断

布尔值判断系统知识在Python里,布尔类型仅有两个值:True和False,它们常被用于条件判断。下面从几个方面展开介绍:1.布尔运算逻辑与(and):只有当两个操作数都为True时,...

Python新手必看|列表操作全攻略(增删改查+切片+推导式)

一、为什么列表是Python的"万能容器"?作为最灵活的序列类型,列表支持:存储任意类型数据(数字/字符串/对象)动态增减元素快速索引访问丰富的内置方法python#创建包含不同数据...

Python列表集合操作介绍?

列表和集合是在Python编程中比较常用,而且比较常见的两种数据结构,他们有着各自的特点以及使用场景,下面我们就来详细的介绍一下列表和集合在实际使用中的一些操作对比。List(列表)列表操作的特点就是...

对Python中序列的个人理解

序列指的是一块连续内存空间存放多个值,在python中,序列类型包括字符串、列表、字典、元组、集合。其中包括字符串、列表、元组为有序序列,字典、集合属于无序序列。例如:#定义变量name,并赋值为字...

python 数据结构之列表(list)简述及演示

(一)list列表定义使用中括号[],里面元素可以是任意类型,包括列表本身,也可以是字典、元组等。(二)在Python中,第一个列表元素的索引为0,而不是1。(三)要访问列表的任何元素,都可将...

Python 列表(List)详解

列表是Python中最基本、最常用的数据结构之一,它是一个有序的、可变的元素集合。一、列表的基本操作1.创建列表#空列表empty_list=[]empty_list=list()...

自学Python第九天——操作列表

自学Python第九天——操作列表一、遍历整个列表1、需要对列表中的每个元素进行相同的操作时,使用for循环例如前几张我们学过的一些内容,想将列表中的每个元素打印出来,需要不断地重复代码,而且因列表长...

Python 列表(List)完全指南:数据操作的利器

在Python中,列表(list)是一种可变序列(mutablesequence),它允许我们存储和操作一组有序数据(ordereddata)。本教程将从基础定义(basicdefiniti...