iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python的列表和元组详情
  • 628
分享到

Python的列表和元组详情

2024-04-02 19:04:59 628人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、python 列表(list)1.序列介绍2.列表的概述列表是包含0个或者多个元素的有序序列,属于序列类型。3.创建列表4.列表的索引5.列表的分片6.列表的分片赋值7.循环

一、Python 列表(list)

1.序列介绍

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是

1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

Python:可变序列和不可变序列

​可变序列:列表、集合、字典  可以进行增删改操作,序列地址页不会发生变化

​不可变序列:元组、字符串   没有增删改操作


#可变序列:列表、字典、集合
list_1 = [10,20,30]
print(id(list_1))   #list_1的地址为:2927159489792
list_1.append(40)
print(id(list_1))   #list_1的地址为:2927159489792 改变了值,列表地址并没有改变

#不可变序列:字符串、元组
str_1 = "HelloWorld"
print(id(str_1))    #str_1的地址为:2244899454896
str_1 = str_1+"1"
print(id(str_1))    #str_1的地址为:2244900762928  改变了值,字符串地址也发生了变化

2.列表的概述

列表是包含0个或者多个元素的有序序列,属于序列类型。

特点:

  • a.列表的长度和内容是可变的(可以自由的对列表中的元素进行,增加、删除或者替换)
  • b.列表没有长度限制
  • c.列表中的元素类型可以不同(可以是基本数据类型,也可以是列表、元组、字典、集合以及其他自定义类型的对象)

3.创建列表

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:


#创建列表方式一
list_0 = []  #空列表
list_1 = ['elephan','monkey','tiger']
list_2 = [1,2,3]
list_3 = [1,2.2,'tiger',True,list_1]   #列表可存储不同的数据类型

#创建列表方式二:使用list()内置函数  list(obj)函数将字符串、range()对象、元组等对象转换为列表。
list_4 = list("python")
list_5 = list([1,2,3,4,5])
list_6 = list((1,2,3))
list_7 = list(range(1,5,2))

4.列表的索引


#列表的索引
list_1 = [1,2.2,'tiger',True]
print(list_1[0])
print(list_1[3])
#print(list_1[4])  报错,超出列表的长度

5.列表的分片


#列表的分片
list_1 = [1,2.2,'tiger',True]
print(list_1[1:3])
print(list_1[0:3:2])
print(list_1[-1:0:-1])    #反向分片的时候,注意步长要为负数

6.列表的分片赋值


x = [1,2,3,4]
x[1] = 1    #替换下角标为1的索引
print(x)
x[2:] = 5,6 #从下角标为2的索引开始替换
print(x)
x[1:1] = [1,2,3,4,5,6,7]    #在变量索引为1的位置插入 “1,2,3,4,5,6,7”
print(x)

#运行结果
[1, 1, 3, 4]
[1, 1, 5, 6]
[1, 1, 2, 3, 4, 5, 6, 7, 1, 5, 6]

7.循环遍历列表

为了能有效地逐一输出列表中的数据,可以使用whilefor循环来便利输出列表。

while循环遍历列表:


x = [1,2,3,4,5,6,7,8,9]
length = len(x)
i = 0
while i<length:
    print(x[i])
    i+=1


for循环遍历列表:


x = [1,2,3,4,5,6,7,8,9]
for n in x:
    print(n)
 

8.查找元素与计数

index(obj)方法:用于返回指定元素在列表中首次出现的位置,如果该元素不在列表中则抛出异常。


animal = ['elephant','monkey','snake','tiger',(1,2,3)]
print(animal.index((1,2,3))
print(animal.index("snake"))
#print(animal.index("喵喵"))   #找不到喵喵会抛出异常
x = input("请输入您要查找的动物")
if x in animal:
    a = animal.index(x) #返回索引值
    print('元素{0}在列表中的索引为:{1}'.fORMat(x,a))
else:
    print("列表中不存在该元素")
 

count(obj)方法:统计指定元素在列表中出现的次数


x = [1,2,2,2,3,4,[1,2,3,4],(1,2),(1,2)]
a = x.count(2)
print(a)
b = x.count((1,2))
print(b)
#运行结果
3
2

9.列表增加元素

列表增加元素:append(obj)方法  extend(seq)方法  insert(index,obj)方法

append(obj):在列表的末尾添加新的元素、对象


add_list = [0,1,2,3,4]
add_list.append(5)  #在末尾添加一个元素5
print(add_list)
add_list.append([6,7])  #在末尾添加一个列表对象[6,7]
print(add_list)
x = [8,9]
add_list.append(x)  #在末尾添加一个列表对象x
print(add_list)
#运行结果
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, [6, 7]]
[0, 1, 2, 3, 4, 5, [6, 7], [8, 9]]

 extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表拓展原来的列表)


list_1 = [1,2,3]
list_2 = [4,5,6]
list_1.extend("python") #将序列python与list_1合并
print(list_1)
list_1.extend(list_2) #将list_2看作一个序列,将这个序列和list_1合并
print(list_1)
 

insert(index,obj):可以将指定的对象添加到指定位置


#insert()方法
number = [1,2,4,5]
number.insert(2,3)  #在索引为2的位置添加元素3
print(number)
number.insert(5,[6,7])  #在索引为5的位置添加对象[6,7]
print(number)
x = [8,9]
number.insert(6,x)  #在索引为6的位置添加对象x
print(number)
#运行结果
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, [6, 7]]
[1, 2, 3, 4, 5, [6, 7], [8, 9]]
 

10.列表删除元素

列表删除元素:del命令  pop()方法  remove()方法

del命令:根据索引删除列表中的元素(删除一个或者多个)


number = [1,2,3,4,5,6,7,8,9]
del number[2]   #删除索引为2的元素
print(number)
del number[1:3] #分片删除索引1:3的元素
print(number)
del number[-1:0:-2] #分片删除索引-1:0:-2的元素
print(number)

pop([obj])方法:用于移除列表中的一个元素(默认最后一个),并且返回该元素的值 (删除一个)


number = [1,2,3,4,5,6,7,8,9]
print(number.pop())  #默认删除最后一个元素,并返回该元素的值
print(number)
print(number.pop(0) )  #删除索引为0的元素
print(number)
 

 remove(obj)方法:移除列表中某个值的第一个匹配项。


#使用remove方法删除列表x中的所有'abc'
x = ["123",'abc',"ABC",'python','abc']
while 'abc' in x:
    x.remove('abc')
print(x)
#运行结果
['123', 'ABC', 'python']

11.列表排序

reverse()方法:用于将列表中的元素反向存放(修改原列表值)。


x = [1,2,3,4]
x.reverse()
print(x)
#运行结果
[4, 3, 2, 1]
 

sort([key = None],[reverse = False])方法:用于对原列表进行排序(默认为升序排序),排序后的新列表会覆盖原列表

key:传递给key参数的是一个函数,它指定可迭代对象中的每一个元素来按照该函数进行排序

reverse: 表示是否反向排序,默认为False


# 这里先看一个不带key参数的sort()函数,大家很容易知道结果
li = [[1, 7], [1, 5], [2, 4], [1, 1]]
li.sort()
print(li)  
# [[1, 1], [1, 5], [1, 7], [2, 4]] 默认按照0维排序 再按照1维排序

def fun(li):
    return li[1]
# 这时将函数fun传递给参数key 得出结果
li.sort(key=fun)
print(li) # [[1, 1], [2, 4], [1, 5], [1, 7]]     
#是li中每个子元素的第二个数进行排序

#无参数排序
x = [1,2,3,4,5]
x.sort()
print(x)
#指定参数排序,长度,反向
x_1 = ['a','abc','abcd','ab']
x_1.sort(key=len,reverse=True)
print(x_1)

#运行结果
[1, 2, 3, 4, 5]
['abcd', 'abc', 'ab', 'a']

  sorted(iterable,[key = None],[reverse = False])  函数:排序方式与sort一样,但是sorted函数会返回一个新列表,对原列表不进行修改

iterable:表示可迭代对象,在这里就是列表名。


#无参数排序
x_1 = [1,5,2,3,4]
x_2 = sorted(x_1)
print(x_1)
print(x_2)

#指定参数排序
x_1 = ['a','abc','abcd','ab']
x_2 = sorted(x_1,key=len,reverse=True)
print(x_1)
print(x_2)

#运行结果
[1, 5, 2, 3, 4]
[1, 2, 3, 4, 5]
['a', 'abc', 'abcd', 'ab']
['abcd', 'abc', 'ab', 'a']

二、 Python 元组(tuple)

元组是不可变序列,所以增删改操作不能使用。

1.为什么要将元组设计成为不可变序列

  • 在多任务环境下,同时操作对象不需要加
  • 在程序中尽量使用不可变序列

注意:元组中存储的是对象的引用

  • 如果元组中存储的对象本身为不可变对象,则不能引用其他对象
  • 如果元组中存储的对象本身为可变对象,则可变对象的引用不可改变,但是数据可以


tuple_1 = (10,[20,30],"string")
print("1",tuple_1[0],type(tuple_1[0]),id(tuple_1[0]))
print("2",tuple_1[1],type(tuple_1[1]),id(tuple_1[1]))
print("3",tuple_1[2],type(tuple_1[2]),id(tuple_1[2]))
#tuple_1[0] = 1
#tuple_1[1] = 1       这三行代码报错,不能修改元组的值
#tuple_1[2] = 1
tuple_1[1].insert(2,40)  #使用list的方法修改list的值,但是列表的引用地址并没有改变
print("4",tuple_1[1],type(tuple_1[1]),id(tuple_1[1]))

运行结果:

1 10 <class 'int'> 2698032015952
2 [20, 30] <class 'list'> 2698040063232
3 string <class 'str'> 2698040230832
4 [20, 30, 40] <class 'list'> 2698040063232

 2.创建元组


#方式一:直接使用()创建
tuple_1 = (1,2.2,"Python",True)
print(tuple_1)          #运行结果(1, 2.2, 'Python', True)
#()可以省略不写
tuple_1 = 1,2.22,"Python",True
print(tuple_1)          #运行结果(1, 2.22, 'Python', True)

#方式二:使用内置函数tuple(obj)函数将字符串、range()对象、元组等对象转换为元组
tuple_2 = tuple("python")
tuple_3 = tuple([1,2,3,4,5])
tuple_4 = tuple((1,2,3))
tuple_5 = tuple(range(1,5,2))
tuple_6 = tuple({"a":"张三",True:1})
print(tuple_2)      #运行结果('p', 'y', 't', 'h', 'o', 'n')        
print(tuple_3)      #运行结果(1, 2, 3, 4, 5)
print(tuple_4)      #运行结果(1, 2, 3)
print(tuple_5)      #运行结果(1, 3)
print(tuple_6)      #运行结果('a', True)

#注意:当元组的值,只包含一个元素的时候,一定要加入一个逗号
tuple_7 = (1,)
tuple_8 = (1)
tuple_9 = ("你",)
tuple_10 = ("你")
print(tuple_7)      #运行结果(1,)
print(tuple_8)      #运行结果1
print(tuple_9)      #运行结果('你',)
print(tuple_10)     #运行结果你
 

3.元组的遍历


tuple_1 = ('python','world',94)
#方法一:使用循环利用索引,获取全部元组的元素
i = 0
length = len(tuple_1)
while i<length:
    print(tuple_1[i])
    i += 1
#方法二
for x in tuple_1:
    print(x)

4.元组的内置函数 

序列都会具备的三个函数: len()   max()  min()
tuple():功能:以一个序列为参数,并把它转换为元组,如果参数本身是元组,则原样返回该参数(参考上文元组的知识点2,创建元组)

到此这篇关于Python的列表和元组详情的文章就介绍到这了,更多相关Python的列表和元组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python的列表和元组详情

本文链接: https://www.lsjlt.com/news/154720.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python的列表和元组详情
    目录一、Python 列表(list)1.序列介绍2.列表的概述列表是包含0个或者多个元素的有序序列,属于序列类型。3.创建列表4.列表的索引5.列表的分片6.列表的分片赋值7.循环...
    99+
    2022-11-12
  • python列表[list]和元组(tuple)详情
    列表和元组: list是一种有序的集合,可以随时添加和删除其中的元素.1,创建一个普通列表 List = ['Jack','Bob','Lucy','Rose'] Append() ...
    99+
    2022-11-11
  • Python list列表查找元素详情
    目录Python list列表index() 方法count()方法Python list列表 Python 列表(list)提供了 index() 和 count() 方法,它们都...
    99+
    2022-11-13
  • python列表详情
    目录1.列表2.使用格式3.一些很有用的函数4.元组 tuple5.元组的常用函数1.列表 python没有数组,而是引入了列表(list),列表可以存储任何类型的数据,而且同一个...
    99+
    2022-11-12
  • 列表和元组(上)——“Python”
    各位CSDN的uu们你们好呀,今天小雅兰的内容是Python中的列表,下面,让我们进入列表的世界吧 列表是什么, 元组是什么 创建列表 访问下标 切片操作 遍历列表元素 列表是什么, 元组是什么 编程中, 经常需要使用变量, 来保...
    99+
    2023-09-02
    python 开发语言 数据结构 算法 线性回归
  • python计算列表元素与乘积详情
    目录插入代码块列表乘积计算插入代码块 使用sum函数: numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(sum(numbers)) 使...
    99+
    2022-11-11
  • python---列表、元组
    一.列表列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。列表切片names = ["fengxiaoli","Cx","#wang","3bin",["dudu","longlong"],"fengye...
    99+
    2023-01-31
    列表 python
  • python元组和列表的作用
    这篇文章主要介绍“python元组和列表的作用”,在日常操作中,相信很多人在python元组和列表的作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python元组和列表的作用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-02
  • Python学习之列表和元组的使用详解
    目录列表和元组简介列表学习要点列表的声明语法列表的读取列表操作列表元素的修改和删除列表元素合并列表元素顺序变化元组学习要点元组基本知识元组的基本操作列表和元组简介 如果说在 Pyth...
    99+
    2022-11-11
  • Python的元组和列表是什么
    这篇文章主要为大家展示了“Python的元组和列表是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python的元组和列表是什么”这篇文章吧。1 元组同一元组中元素的数据类型可以不同元组中只...
    99+
    2023-06-29
  • Python中列表和元组的区别
    Python中列表和元组的区别 数据结构定义符号是否可变存储空间能否作为字典的键列表(list)[        ]可变,动态内存较大不能元组(tuple)(        )不可变,静态内存较小能         在Python中...
    99+
    2023-09-07
    python 数据结构
  • Python-列表与元组
       笔记: 在Python中,最基本的数据结构为序列。序列中每个元素都有编号,其位置或索引,其中第一个元素索引为0,第二个为1,以此类推。 Python内置多种序列,其中包含列表、元组、字符串等,他们都可以称为“容器”(字典也称作容器...
    99+
    2023-01-30
    列表 Python
  • python列表、元组(三)
    一、列表1. 创建列表>>> name = ['gao', 'sam', 'snow', 'jey'] >>> type(name) <type 'list'> >>> na...
    99+
    2023-01-31
    列表 python
  • Python列表之元组
    元组属于序列的一种1.    序列包括3种字符串、列表和元组都是序列。序列的两个主要特点是所有操作符和切片操作符。a.    索引操作符让我们可以从序列中抓取一个特定项目b.    切片操作符让我们能获取序列的一个切片,即一部分序列2.  ...
    99+
    2023-01-31
    列表 Python
  • Python列表推导式详情
    目录1、列表生成式1.1 案例2、集合生成式3、字典生成式1、列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list...
    99+
    2022-11-12
  • python列表和元组(第二章)
    1)列表和元组 python包涵6中内建的序列(列表,元组,字符串,Unicode字符串,buffer对象和xrange对象),本章讲常用的2中类型:列表和元组。 列表和元组的区别:列表可以修改,元组则不能。     2)索引 >&...
    99+
    2023-01-31
    第二章 列表 python
  • Python基础:列表(list)和元组
      学一门语言,可以用对比其他语言方法加深对这门语言特点的理解。 一、定义:列表和元组,都是一个可以放置任意数据类型的有序集合。   mutable的列表:动态的,可以改变元素   immutable的元组:静态的,不可以改变元素 二、支...
    99+
    2023-01-31
    基础 列表 Python
  • Python中列表和元组的使用方法和区别详解
    一、二者区别 列表: 1.可以增加列表内容 append 2.可以统计某个列表段在整个列表中出现的次数 count 3.可以插入一个字符串,并把整个字符串的每个字母拆分当作一个列表段追加到列表当中 ...
    99+
    2022-06-04
    使用方法 详解 区别
  • Python3列表和元组
    数据结构 数据结构是以某种方式组合起来的数据元素的集合。在Python中基本的数据结构就是序列 序列 列表和元组;区别:列表可以修改,元组不可以修改 例:  a = ['name',age] 序列可包含其他序列,比如:all=[a,a] ...
    99+
    2023-01-31
    列表
  • python列表、元组、字典
    1.列表列表是由一序列特定顺序排列的元素组成的。可以把字符串,数字,字典等都可以任何东西加入到列表中,列表中的元素之间没有任何关系。列表也是自带下标的,默认也还是从0开始。列表常用方括号表示,即:[],元素用逗号隔开。例子:a = ["hu...
    99+
    2023-01-31
    字典 列表 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作