精华内容
下载资源
问答
  • 本文实例讲述了Python列表元组的定义使用操作。分享给大家供大家参考,具体如下: #coding=utf8 print ''''' 可以将列表元组当成普通的“数组”,它能保存任意数量任意类型的Python对象。 列表元组通过数字...
  • 主要介绍了python中的列表与元组的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了Python列表与元组的异同详解,“列表(list)与元组(tuple)两种数据类型有哪些区别”这个问题在初级程序员面试中经常碰到,超出面试官预期的答案往往能加不少印象分,也会给后续面试顺利进行提供一定帮助,...
  • 05 python 列表与元组 列表 列表是有序的元素集合,所有元素放在一对[ ]之中,用,隔开,无长度限制 列表索引以0位开始,-1表示末尾开始的位置 列表可以使用+进行拼接,*表示重复 列表元素增加或删除时,列表对象...
  • 列表元组主要区别在于,列表可以修改,元组不可修改。一般来说,在几乎所有情况下列表都可以代替元组。在需要操作一组数值的时候,序列很好用:复制代码 代码如下:Edward = [“Gumby”,42] 同时,序列可以包含...
  • 列表与元组两种数据类型有哪些区别?”这个问题在初级程序员面试中经常碰到,超出面试官预期的答案往往能加不少印象分,也会给后续面试顺利进行提供一定帮助,这道题主要考察候选人对Python基本数据结构的掌握程度...

    “列表与元组两种数据类型有哪些区别?”这个问题在初级程序员面试中经常碰到,超出面试官预期的答案往往能加不少印象分,也会给后续面试顺利进行提供一定帮助,这道题主要考察候选人对Python基本数据结构的掌握程度,属于简单类型的送分题,那么该如何来回答才不至于丢分?

    相同点:都是序列类型

    回答它们的区别之前,先来说说两者有什么相同之处。list 与 tuple 都是序列类型的容器对象,可以存放任何类型的数据、支持切片、迭代等操作

     

    两者的操作如此相似,Python 为什么还要设计一种叫 tuple 的类型出来呢?这就要从它们的不同之处来寻找答案。

    不同点一:不可变 VS 可变

    两种类型除了字面上的区别(括号与方括号)之外,最重要的一点是tuple是不可变类型,大小固定,而 list 是可变类型、数据可以动态变化,这种差异使得两者提供的方法、应用场景、性能上都有很大的区别。

    列表特有方法:

     

    所有的操作都基于原来列表进行更新,而 tuple 作为一种不可变的数据类型,同样大小的数据,初始化和迭代 tuple 都要快于 list.

     

    同样大小的数据,tuple 占用的内存空间更少

     

    原子性的 tuple 对象还可作为字典的键

     

    不同点二:同构 VS 异构

    tuple 用于存储异构(heterogeneous)数据,当做没有字段名的记录来用,比如用 tuple 来记录一个人的身高、体重、年龄。

    person = ("zhangsan",20,180,80)

    比如记录坐标上的某个点

    point = (x, y)

    而列表一般用于存储同构数据(homogenous),同构数据就是具有相同意义的数据,比如下面的都是字符串类型

    ["zhangsan","Lisi","wangwu"]

    再比如 list 存放的多条用户记录

    [("zhangsan",20,180,80), ("wangwu",20,180,80)]

    数据库操作中查询出来的记录就是由元组构成的列表结构。

    因为 tuple 作为没有名字的记录来使用在某些场景有一定的局限性,所以又有了一个 namedtuple 类型的存在,namedtuple 可以指定字段名,用来当做一种轻量级的类来使用。

    来说说你在面试中遇到的问题吧,有没有奇葩的?

    展开全文
  • python列表元组、Numpy数组的相关总结内容说明一、三类容器的基本用法介绍 1、list列表的基本用法 2、元组(Tuple)的基本用法 3、Nunpy数组的基本用法二、三类容器的区别 1、list列表与numpy数组 ...
  • Python列表元组的详细区别

    万次阅读 多人点赞 2018-06-06 20:40:06
    Python列表元组的详细区别 一、列表元组区别 二、列表(List) 三、元组(Tuple) Python列表元组的详细区别 一、列表元组区别 列表是动态数组,它们不可变且可以重设长度(改变其内部元素...

    Python列表和元组的详细区别

    一、列表和元组的区别

    1. 列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
    2. 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
    3. 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。

    这些区别结实率两者在设计哲学上的不同:

    • 列表可被用于保存多个互相独立对象的数据集合
    • 元组用于描述一个不会改不安的事务的多个属性

    二、列表(List)

    列表一旦创建了我们就可以根据自己的需要随意改变它的内容:

    >>> l = [1, 2, 3, 4, 5, 6]
    >>> l[0] = l[2] * l[3]
    >>> l
    [12, 2, 3, 4, 5, 6]
    

    另外我们可以给列边添加新的数据来增加其大小:

    >>> len(l)
    6
    >>> l.append(7)
    >>> l
    [12, 2, 3, 4, 5, 6, 7]
    >>> len(l)
    7
    

    这是因为动态数组支持resize操作,可以增加数组的容量。当一个大小为N的列表第一次需要添加数据时,Python会创建一个新的列表,足够放原来的N个元素以及额外添加的元素。不过,实际分配的并不是N+1个元素,而是M个元素,M > N, 这是为了给未来的添加预留空间。然后旧列表的数据被复制到新列表中,旧列表则会被销毁。从设计理念上来说,第一次添加可能是后续多次添加的开始,通过预留空间的做法,我们就可以减少这一分配空间的操作次数以及内存复制的次数。这点非常重要,因为内存复制可能非常的昂贵,特别是当列表大小开始增长以后。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GdQpXs7R-1599024560319)(./image/列表的添加操作.jpg)]

    三、元组(Tuple)

    元组是固定且不可改变的。这意味着一旦元组被创建,和列表不同,它的内容无法被修改或它的大小也无法被改变。

    >>> t = (1, 2, 3, 4)
    >>> t[0] = 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment
    

    虽然它们不支持改变大小,但是我们可以将两个元组合并成一个新元组。这一操作类似列表的resize操作,但我们不需要为新生的元组分配任何额外的空间:

    >>> t1 = (1, 2, 3, 4)
    >>> t2 = (5, 6, 7, 8)
    >>> t1 + t2
    (1, 2, 3, 4, 5, 6, 7, 8)
    

    如果我们将其与列表的append操作比较,我们会看到它的复杂度是O(n)而不是列表的O(1)。这是因为对元组每添加一个新元素都会有分配和复制操作,而不是像列表那样仅在额外的空间耗尽时发生。所以元组并没有提供一个类似append的自增操作,任意两个元组相加始终返回一个新分配的元组。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nIsaGxH8-1599024560321)(./image/元组的合并操作.jpg)]

    该网站为Python Tutor,一个能够对python运行内存可视化的网站,非常适合初学者研究,在运行过程中内存发生了什么。

    元组的静态特性的另一个好处体现在一些会在Python后台发生的事情:资源缓存。

    Python是一门垃圾收集语言,这意味着当一个变量不再被使用时,Python会将该变量使用的内存释放回操作系统,以供其他程序(变量)使用。然而,对于长度为1~20的元组,即使它们不在被使用,它们的空间也不会立刻还给系统,而是留待未来使用。这意味着当未来需要一个同样大小的新的元组时,我们不再需要向操作系统申请一块内存来存放数据,因为我们已经有了预留的空间。

    这看上去可能是个细微的好处,但是实际上是元组一个很神奇的地方:它们可以被轻松快速地创建,因为它们可以避免跟操作系统频繁的打交道,而后者会花很长的时间。

    下面举个例子会非常直观的说明问题

    In [1]: %timeit l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    93.7 ns ± 3.33 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
    
    In [2]: %timeit t = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
    18.5 ns ± 1.19 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
    

    上面的示例中显示了初始化一个列表比初始化一个元组慢了5.1倍——如果这是在一个循环中,这点差别会很快的累加起来。

    展开全文
  • 列表list定义符号:[]创建:[]直接创建 , list()可变性:可变是否有序:有序元素是否重复:可以重复切片:支持切片索引:支持索引访问:索引访问删除:del()list.remove(value)list.pop()修改插入:list[]=append()...

    列表list

    定义符号:[]

    创建:[]直接创建 , list()

    可变性:可变

    是否有序:有序

    元素是否重复:可以重复

    切片:支持切片

    索引:支持索引

    访问:索引访问

    删除:

    del()

    list.remove(value)

    list.pop()

    修改插入:

    list[]=

    append()

    insert()

    extend()

    +

    遍历:for循环遍历

    for i in list:

    +或*: 支持

    元组tuple

    定义符号:()

    创建:() 直接创建 , tuple()

    可变性:不可变

    是否有序:有序

    元素是否重复:可以重复

    切片:支持切片

    索引:支持索引

    访问:索引访问

    删除:

    del()

    修改插入:不可修改

    遍历:for循环遍历

    for i in tuple:

    +或*: 支持

    字典dict

    定义符号: {key:value}

    创建: dict{key:value} {}直接创建

    可变性:可变

    是否有序:无序

    元素是否重复:键不可以重复

    切片:不支持切片

    索引:不支持索引

    访问:

    键访问

    get()访问

    删除:

    del()

    修改插入:

    dict[key]=value

    遍历:for循环遍历

    for key,value in dict.items:

    key_list=list(dict2.keys()) #输出字典中所有的key值

    print(key_list)

    value_list=list(dict2.values()) #输出字典中所有的value值

    print(value_list)

    items_list=list(dict2.items()) #输出以元组方式的键对值

    +或*: 不支持

    集合set

    定义符号:{}

    创建:{}直接创建 set()

    可变性:可变

    是否有序: 无序

    元素是否重复:不可以重复

    切片:不支持切片

    索引:不支持索引

    删除:

    del()

    set.pop()

    set.remove()

    set.clear()

    修改插入:

    set.add()

    遍历:

    for循环遍历 for i in set:

    +或*: 不支持

    其他:交集& 并集|

    set1={1,2,3,4,5}

    set2={2,3,4}

    ret=set1&set2

    print(ret) #输出{2,3,4}

    ret1=set1|set2

    print(ret1) #输出{1,2,3,4,5}

    去重:

    set1={11,11,22,22,33,44}

    ret=set(set1)

    print(ret) #输出结果{22,11,33,44}

    本文地址:https://blog.csdn.net/weixin_44024993/article/details/107364819

    如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

    展开全文
  • 序列 什么是序列 列表(List)是什么 列表对象的常用方法列表对象的四种创建列表元素的增加删除列表元素的访问计数列表对象的切片操作列表元素的排序逆序列表相关的内置函数 多维列表(List的延伸) 二维列表 元组...
  • 列表(list)和元组(tuple)的一些基础 list和tuple都是一个可以放置任意数据类型的有序集合,都是既可以存放数字、字符串、对象等 list和tuple都支持负索引 In [8]: nums[-2] Out[8]: ‘ad’ In [9]: tp[-2] Out[9]:...
  • python list获取列表内容获取列表的长度: len(list)元素item在列表中出现的次数: list.count(item)获取元素item的索引: list.index(item)在列表中添加元素在列表末尾追加元素item: list.append(item)在列表list1...

    python list

    获取列表内容

    获取列表的长度: len(list)

    元素item在列表中出现的次数: list.count(item)

    获取元素item的索引: list.index(item)

    在列表中添加元素

    在列表末尾追加元素item: list.append(item)

    在列表list1中追加list2中的元素: list1.extend(list2)

    在指定位置插入元素: list.insert(index, item)

    a, b = [1, 2], [1, 2]

    a.append('cd')

    print(a) # [1, 2, 'cd']

    b.extend('cd')

    print(b) # [1, 2, 'c', 'd']

    修改列表中的元素

    修改列表指定位置的元素: list[index] = item

    排序: list.sort(reverse=True/False) (默认为False,升序; 为True时表示降序排列)

    反转列表:list.reverse()

    a, b = [1, 3, 2, 4], [1, 3, 2, 4]

    a.sort()

    print(a) # [1, 2, 3, 4]

    b.reverse()

    print(b) # [4, 2, 3, 1]

    删除列表中的元素

    删除列表:del list (删除指向列表的变量)

    删除列表中指定位置的元素: del list[index] or list.pop(index)

    删除列表中最后一个元素: list.pop()

    清空列表中的数据:list.clear()

    删除列表中第一个出现的元素item: list.remove(item)

    列表运算

    "+" 列表拼接

    "*" 列表复制

    ">"、"<"数据型列表元素比较

    and逻辑运算符 可以进行列表之间的逻辑判断

    a = [1, 2]

    b = [2, 1]

    c = a + b # [1, 2, 2, 1]

    d = a*3 # [1, 2, 1, 2, 1, 2]

    print(a < b) # True

    print(a < b and a < c) # True

    列表复制

    复制列表(深拷贝):a = list.copy() or a = list[:]

    复制列表(浅拷贝):a = list

    a = [1, 2]

    b = a.copy()

    c = a[:]

    d = a

    print(id(a) == id(b)) # False 深拷贝

    print(id(a) == id(c)) # False 深拷贝

    print(id(a) == id(d)) # True 浅拷贝

    python tuple

    python中元组与列表不同之处:元组的元素不能修改

    tup = (1, 2)

    tup[0] = 2 # TypeError: 'tuple' object does not support item assignment

    创建元组

    tup1 = (1, 2)

    tup2 = 1, 2# (1, 2)

    tup3 = 1,# (1,)

    tup4 = (1,)# (1,) 元组中只包含一个元素时,需在元素后添加","消除歧义

    tup5 = (1)# 1

    tup6 = ()# ()空元组

    访问元组

    元组可以使用下标索引来访问元组中的值

    tup = (1, 2, 3)

    print(tup[0]) # 1

    print(tup[1:3]) # (2, 3)

    删除元组

    元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

    tup = (1, 2, 3)

    del tup[0] # TypeError: 'tuple' object doesn't support item deletion

    del tup

    元组运算

    "+" 列表拼接

    "*" 列表复制

    ">"、"<"数据型列表元素比较

    and逻辑运算符 可以进行列表之间的逻辑判断

    a, b = (1, 2), (2, 1)

    c = a + b # (1, 2, 2, 1)

    d = a*3 # (1, 2, 1, 2, 1, 2)

    print(a < b) # True

    print(a < b or a == b) # True

    元组内置函数

    len(tup) 获取元组元素个数

    max(tup) 返回数据型元组中最大的元素

    min(tup) 返回数据型元组中最小的元素

    tuple(seq) 将列表(list、set)转化为元组

    展开全文
  • python 列表与元组区别

    千次阅读 2017-10-19 10:07:20
    列表:a = ['a', 3, 2]元组:b = ('a', 3, 2)二者都是存储多个元素的东西, 1. 列表是用中括号表示,元组是用括号表示 2. 列表中数据可变,元组中数据不可更改 3. 元组由于不可更改,安全性方面比列表更好
  • python列表与元组

    2020-12-11 07:01:52
    python列表与元组列表与元组python中最基础的两种集合,区别列表是动态的,大小可以改变,元组是不可变的,一旦创建就不能修改,因为不变性,所以元组是可哈希的。列表的介绍列表是对其他对象的引用组成的连续数组...
  • Python 列表元组区别是什么?

    千次阅读 2018-10-24 14:48:46
    一个 Python 初学者的普遍疑问:列表与元组区别是什么? 答案是:它们之间有两点不同,并且二者之间有着复杂的相互作用。它们分别是”技术上”的差异和“文化上”的差异。 首先,有一点是相同的:列表与元组都是...
  • python列表元组

    2020-12-20 22:23:10
    :sort()对列表进行临时排序:sorted()倒着打印列表:reverse()确定列表的长度:len()遍历整个列表创建数值列表使用range()函数创建数字列表对数字列表的运算列表解析切片创建切片遍历切片复制列表元组 建立 在Python...
  • 列表、元组、字典、集合的异同 1.list: (1)可以用list()函数或者方括号[]创建,元素之间用逗号’,‘’分隔; (2)列表的元素不需要具有相同的类型,...(这是区别与列表的一个特征。 3.dict: 字典是另一种可变容器模
  • Python 元组与列表区别

    千次阅读 2020-06-04 21:46:00
    1,元组与列表十分相似,大部分方法都通用,但是元组与列表的最大区别是列表可以修改 可以读取 可以删除,而元组创建之后则不能修改,不能删除单个元素,但可以删除整个元组。 2,但是要注意,如果元组只有一个元素...
  • 一、实验目的和要求 ...(6)理解元组与列表区别。 二、 实验数据记录、处理及结果分析 ① 写出程序的运行结果。 ② 筛选法求[2,n]范围内全部素数的基本思路是:在2~n中划去2的倍数(不包括2),再划去...
  • Python列表与元组

    2020-12-08 18:47:00
    列表list列表Python中最基本的数据结构,是最常用的数据类型。列表将由若干数据作为元素的序列放置在一对中括号中饭,元素之间以逗号分隔。Python列表元素可以由任意列表的数据构成。同一列表中各元素的类型可以各...
  • 构造函数里的参数可以接纳元组列表。所以,分别用 tuple(元组名)或 list(列表名)来实现即可。【参考代码】In [6]: a_list = [1, 2, 3, 4] #创建一个列表In [7]: a_tuple = ('a', 'b', 'c', 'd') #创建一个元组...
  • a=[] 这是一个列表b=() 这是一个元组区别列表可以修改而元组不能修改,例如可以往列表中用append()添加元素,由于元组是不可修改的所以不存在添加元素的问题。相同点:列表和元组都是容器,包含了一些列的对象,...
  • 送分题:Python列表与元组区别是?.pdf
  • Python合并列表与元组

    2021-06-24 17:09:54
    Python快速合并两个列表 知识总结: 列表前面加星号可将列表内容解开成独立的元素。(元组相同) 如代码: a = [1 for _ in range(5)] a1 = (2 for _ in range(5)) print(*a) print(*a1) #代码输出为 #1 1 1 1 1 #2 ...
  • 列表为例,可以将列表中的每一个元素两头的引号给去除,同时,元素元素之间以字符‘x’作为分割标志,并且列表最外面的中括号也能去除掉。元组同理。 a_list=['monday','tuesday','wednesday','thursday','...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 306,409
精华内容 122,563
关键字:

python列表与元组的区别

python 订阅