zoukankan      html  css  js  c++  java
  • python基础--03顺序的集合类型List&Tuple

    1.Python中的List

    1.1创建

    L = []

    L = [1,2,3]

    List2 = List1 # 浅拷贝

    List2 = List1[:] # 深拷贝

    1.2正序访问

    索引:0,1,2,3...

    1.3倒序访问

    索引:-1,-2,-3...

    1.4添加元素--append(添加到末尾)

    >>> L=['Adam','Lisa','Bart']
    >>> L.append('paul')
    >>> print L
    ['Adam', 'Lisa', 'Bart', 'paul']

    1.5添加元素--insert(添加到指定位置)

    >>> L=['Adam','Lisa','Bart']
    >>> L.insert(0,'Paul')
    >>> print L
    ['Paul', 'Adam', 'Lisa', 'Bart']

    1.6删除元素--del

    a=[1,2,3,4]
    del a[0]

    1.7删除元素--pop(删除的同时返回被删除的元素

    >>> L
    ['Paul', 'Adam', 'Lisa', 'Bart']
    >>> L.pop(2)
    'Lisa'
    >>> L
    ['Paul', 'Adam', 'Bart']

    1.8删除元素--remove(只会删除第一个指定的元素)

    a=[1,2,3,4,1,2]
    a.remove(1)
    # [2, 3, 4, 1, 2]

    1.9替换元素--指定索引赋值

    >>> L
    ['Paul', 'Adam', 'Bart']
    >>> L[0]='Bart'
    >>> L[-1]='Adam'
    >>> L
    ['Bart', 'Adam', 'Adam']

    1.10列表相关方法

    sort() -- 排序,会改变列表顺序;无返回值

    >>> a=[3,2,5,1]
    >>> a.sort()
    >>> a
    [1, 2, 3, 5]

    sorted() -- 排序,不改变列表顺序;返回值list

    >>> a=[3,2,5,1]
    >>> sorted(a)
    [1, 2, 3, 5]
    >>> a
    [3, 2, 5, 1]

    reverse() -- 倒序,会改变列表顺序;返回值list

    >>> a=[3,2,5,1]
    >>> a.reverse()
    >>> a
    [1, 5, 2, 3]

    len() -- 获得列表长度;返回值int

    >>> a=[3,2,5,1]
    >>> len(a)
    4

    enumerate() -- 迭代所有可迭代对象,用for index,value in 接收

    >>> a=[3,2,5,1]
    >>> for index,value in enumerate(a):
    ...     print(index,value)
    ...
    0 3
    1 2
    2 5
    3 1

    2.Python中的Tuple

    2.1多元素tuple

    tuple是另一种有序的列表,中文翻译为“元组”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了

    同样是表示班里同学的名称,用tuple表示如下:

    >>> t = ('Adam', 'Lisa', 'Bart')

    创建tuple和创建list唯一不同之处是用( )替代了[ ]。

    现在,这个t就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。

    获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素。

    2.2单元素tuple

             0个元素:t=()

             1个元素:t=(1,) # 注:必须加逗号,否则认为只是一个1

    因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

    2.3tuple的不可变深入理解

    tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b'指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

     

  • 相关阅读:
    Arrays类和Timer类(定时调度)
    Centos6.3下Ganglia3.6.0安装配置
    【编程之美挑战赛第一场】树
    ORACLE物化视图具体解释
    让算法会说话之冒泡排序
    VS2008帮助"更新正在进行中"解决办法
    #问题
    sql server 2008 评估期已过期解决办法
    eclipse定义枚举类型错误
    C# 生产者和消费者问题使用Monitor同步
  • 原文地址:https://www.cnblogs.com/yc913344706/p/7735021.html
Copyright © 2011-2022 走看看