我是靠谱客的博主 粗心星星,最近开发中收集的这篇文章主要介绍Python3 列表 Python3 列表,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Python3 列表

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

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

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

list1 = [ ' Google ' , ' Runoob ' , 1997 , 2000 ] ; list2 = [ 1 , 2 , 3 , 4 , 5 ] ; list3 = [ " a " , " b " , " c " , " d " ] ;

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。


访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

实例(Python 3.0+)

#!/usr/bin/python3 list1 = [ ' Google ' , ' Runoob ' , 1997 , 2000 ] ; list2 = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ; print ( " list1[0]: " , list1 [ 0 ] ) print ( " list2[1:5]: " , list2 [ 1 : 5 ] )

运行实例 »

以上实例输出结果:

list1[0]:  Google
list2[1:5]:  [2, 3, 4, 5]

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:

实例(Python 3.0+)

#!/usr/bin/python3 list = [ ' Google ' , ' Runoob ' , 1997 , 2000 ] print ( " 第三个元素为 : " , list [ 2 ] ) list [ 2 ] = 2001 print ( " 更新后的第三个元素为 : " , list [ 2 ] )

注意:我们会在接下来的章节讨论append()方法的使用

以上实例输出结果:

第三个元素为 :  1997
更新后的第三个元素为 :  2001

删除列表元素

可以使用 del 语句来删除列表的的元素,如下实例:

实例(Python 3.0+)

#!/usr/bin/python3 list = [ ' Google ' , ' Runoob ' , 1997 , 2000 ] print ( list ) del list [ 2 ] print ( " 删除第三个元素 : " , list )

以上实例输出结果:

删除第三个元素 : ['Google', 'Runoob', 2000]

注意:我们会在接下来的章节讨论remove()方法的使用


Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式 结果 描述
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ") 1 2 3 迭代

Python列表截取与拼接

Python的列表截取与字符串操作类型,如下所示:

L = [ ' Google ' , ' Runoob ' , ' Taobao ' ]

操作:

Python 表达式 结果 描述
L[2] 'Taobao' 读取第三个元素
L[-2] 'Runoob' 从右侧开始读取倒数第二个元素: count from the right
L[1:] ['Runoob', 'Taobao'] 输出从第二个元素开始后的所有元素
>>> L = [ ' Google ' , ' Runoob ' , ' Taobao ' ] >>> L [ 2 ] ' Taobao ' >>> L [ - 2 ] ' Runoob ' >>> L [ 1 : ] [ ' Runoob ' , ' Taobao ' ] >>>

列表还支持拼接操作:

>>> squares = [ 1 , 4 , 9 , 16 , 25 ] >>> squares + [ 36 , 49 , 64 , 81 , 100 ] [ 1 , 4 , 9 , 16 , 25 , 36 , 49 , 64 , 81 , 100 ]

嵌套列表

使用嵌套列表即在列表里创建其它列表,例如:

>>> a = [ ' a ' , ' b ' , ' c ' ] >>> n = [ 1 , 2 , 3 ] >>> x = [ a , n ] >>> x [ [ ' a ' , ' b ' , ' c ' ] , [ 1 , 2 , 3 ] ] >>> x [ 0 ] [ ' a ' , ' b ' , ' c ' ] >>> x [ 0 ] [ 1 ] ' b '

Python列表函数&方法

Python包含以下函数:

序号 函数
1 len(list)
列表元素个数
2 max(list)
返回列表元素最大值
3 min(list)
返回列表元素最小值
4 list(seq)
将元组转换为列表

Python包含以下方法:

序号 方法
1 list.append(obj)
在列表末尾添加新的对象
2 list.count(obj)
统计某个元素在列表中出现的次数
3 list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj)
将对象插入列表
6 list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj)
移除列表中某个值的第一个匹配项
8 list.reverse()
反向列表中元素
9 list.sort([func])
对原列表进行排序
10 list.clear()
清空列表
11 list.copy()
复制列表

笔记列表

  1.    tianqixin

      429***967@qq.com

       参考地址

    python 创建二维列表,将需要的参数写入 cols 和 rows 即可

    list_2d = [[0 for col in range(cols)] for row in range(rows)]
    

    实例:

    >>> list_2d = [ [0 for i in range(5)] for i in range(5)]
    >>> list_2d[0].append(3)
    >>> list_2d[0].append(5)
    >>> list_2d[2].append(7)
    >>> list_2d
    [[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
    
    tianqixin

       tianqixin

      429***967@qq.com

       参考地址

    11个月前 (02-25)
  2.    打杂的

      854***070@qq.com

    分享一个例子,刚学,错了别喷:

    l = [i for i in range(0,15)]
    print(l[::2])

    我们可以看到l后面跟了两个冒号,还有个 2 ,效果:

    >>> l = [i for i in range(0,15)]
    >>> print(l[::2])
    [0, 2, 4, 6, 8, 10, 12, 14]

    我理解为:

    l[start:end:span]

    遍历 [start,end),间隔为 span,当 span>0 时顺序遍历, 当 span<0 时,逆着遍历。

    start 不输入则默认为 0,end 不输入默认为长度。

    打杂的

       打杂的

      854***070@qq.com

    7个月前 (06-19)
  3.    c@sm

      149***624@qq.com

    列表的复制

    >>> a = [1, 2, 3]
    >>> b = a
    >>> c = []
    >>> c = a
    >>> d = a[:]
    >>> a, b, c, d
    ([1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3])
    >>> b[0] = 'b'
    >>> a, b, c, d
    (['b', 2, 3], ['b', 2, 3], ['b', 2, 3], [1, 2, 3])
    >>> id(a), id(b), id(c), id(d)
    (140180778120200, 140180778120200, 140180778120200, 140180778122696)
    >>> c[0] = 'c'
    >>> a, b, c, d
    (['c', 2, 3], ['c', 2, 3], ['c', 2, 3], [1, 2, 3])
    >>> id(a), id(b), id(c), id(d)
    (140180778120200, 140180778120200, 140180778120200, 140180778122696)
    >>> d[0] = 'd'
    >>> a, b, c, d
    (['c', 2, 3], ['c', 2, 3], ['c', 2, 3], ['d', 2, 3])
    >>> id(a), id(b), id(c), id(d)
    (140180778120200, 140180778120200, 140180778120200, 140180778122696)
    

    可以看到a b c 三个是同一id值,当改变当中任一列表元素的值后,三者会同步改变。

    但d的元素值不会变,改变d的元素值其它三个变量内的元素值也不会变。

    从a b c d 的id值来看,a b c 地址全一样,唯有d分配了新地址。

    所以一般情况下想复制得到一个新列表并改变新列表内元素而不影响原列表,可以采用d的赋值方式。

    这只是针对这种比较单一的普通列表。

    c@sm

       c@sm

      149***624@qq.com

    6个月前 (07-10)
  4.    Lmac

      lma***03@163.com

    @sm 同学提到的列表的复制问题,其实可以用copy模块里 copy()函数解决,实例如下:

    import copy
    
    a = [1,2,3,4]
    b = a
    d = copy.copy(a)
    b[0] = 'b'
    print(a,b,d)
    print(id(a),id(b),id(d))
    Lmac

       Lmac

      lma***03@163.com

    4个月前 (09-25)
  5.    david

      185***88@qq.com

    楼上两位同学说的都对,还有一个就是用list自带的copy()方法,把重新开辟内存空间存储新列表。

    original_list=[0,1,2,3,4,5,6,7,8]
    copy_list=original_list.copy()
    copy_list=copy_list+['a','b','c']
    print("original_list:",original_list)
    print("copy_list modify:",copy_list)

    运行结果

    original_list: [0, 1, 2, 3, 4, 5, 6, 7, 8]
    copy_list modify: [0, 1, 2, 3, 4, 5, 6, 7, 8, 'a', 'b', 'c']

最后

以上就是粗心星星为你收集整理的Python3 列表 Python3 列表的全部内容,希望文章能够帮你解决Python3 列表 Python3 列表所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部