美文网首页
python学习笔记:list和tuple

python学习笔记:list和tuple

作者: Stefanie0503 | 来源:发表于2017-05-08 18:51 被阅读0次

    2017.05.08


    参考资料:

    廖雪峰的官方网站

    脚本之家


    List列表

    list是一种有序的集合,可以随时添加和删除其中的元素。索引

    1、创建列表

    使用方括号,在括号中添加元素,并使用逗号隔开

    classmates = ['Michael', 'Bob', 'Tracy']
    

    注意:list元素也可以是另一个list,比如:

     s = ['python', 'java', ['asp', 'php'], 'scheme']
    >>> len(s)
    4
    

    2、访问列表

    使用索引来访问list中每一个位置的元素

    >>> classmates[2]
    'Tracy'
    

    如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:

    >>> classmates[-1]
    'Tracy'
    

    3、修改列表元素

    3.1 增加元素:append

    >>> classmates.append('Adam')
    >>> classmates
    ['Michael', 'Bob', 'Tracy', 'Adam']
    

    3.2修改元素:insert

    >>> classmates.insert(1, 'Jack')
    >>> classmates
    ['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
    

    3.3删除某个元素

    删除末尾位置元素

     classmates.pop()
    'Adam'
    >>> classmates
    ['Michael', 'Jack', 'Bob', 'Tracy']
    >>>
    

    删除指定位置的元素,pop(i)

     classmates.pop(1)
    'Jack'
    >>> classmates
    ['Michael', 'Bob', 'Tracy']
    

    要把某个元素替换成别的元素,可以直接赋值给对应的索引位置

    >>> classmates[1]='stefanie'
    >>> classmates
    ['Michael', 'stefanie', 'Tracy']
    

    4、Python列表操作的函数和方法

    列表操作包含以下函数:

    1、cmp(list1, list2):比较两个列表的元素

    2、len(list):列表元素个数

    3、max(list):返回列表元素最大值

    4、min(list):返回列表元素最小值

    5、list(seq):将元组转换为列表
    列表操作包含以下方法:

    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]):对原列表进行排序

    Tuple元组

    元组类似于一种有序列表,初始化后,列表中的元素不能修改。它也没有append()、insert()这样的方法。因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。 元组与字符串类似,下标索引从0开始,可以进行截取,组合等 。

    1、创建元组

    使用小括号,在括号中添加元素,并使用逗号隔开。

    1.1创建元组

    numbers = (1,2,3,4,5)
    classmates = ('A','B','C')
    

    1.2创建空元组

    tup = ()
    

    1.3创建只带有一个元素的元组

    ==必须加一个逗号以消除歧义,否则会被误解成数学计算意义上的括号.==

    tup=()
    >>> tup
    ()
    >>> tup1=(1)
    >>>
    >>> tup1
    1
    >>> tup2=(1,)
    >>> tup2
    (1,)
    

    2、元组连接

    >>>numbers+classmates
    

    3、删除元组:

    del 元组名
    

    4、“可变的”tuple:

    >>> t = ('a', 'b', ['A', 'B'])
    >>> t[2][0] = 'X'
    >>> t[2][1] = 'Y'
    >>> t
    ('a', 'b', ['X', 'Y'])
    

    发现:这个tuple定义的时候有3个元素,分别是'a','b'和一个list。但是tuple一旦定义后就不可变了,为什么这里又可以改变了?

    图解如下:

    t

    当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:


    image

    通过图解看出:其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list。
    所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

    4、元组内置函数

    Python元组包含了以下内置函数

    1、cmp(tuple1, tuple2):比较两个元组元素。

    2、len(tuple):计算元组元素个数。

    3、max(tuple):返回元组中元素最大值。

    4、min(tuple):返回元组中元素最小值。
    5、tuple(seq):将列表转换为元组。

    相关文章

      网友评论

          本文标题:python学习笔记:list和tuple

          本文链接:https://www.haomeiwen.com/subject/tflvtxtx.html