zoukankan      html  css  js  c++  java
  • python列表元组

     python列表元组

    索引
    切片
    追加
    删除
    长度
    循环
    包含
     
    定义一个列表

        my_list = [] 

        my_list = list()
     
    my_list = ['Michael', 'Bob', 'Tracy']
    len(my_list) 获取元素个数
    列表是一个可变的有序列表,所以通过索引定义元素位置
    >>my_list[0]  第一个元素 
    'Michael'
    >>my_list[1]第二个元素 以此类推
    'Bob'
    如果取最后一个元素,除了计算索引位置,还可以用-1做索引,直接获取最后一个元素:
    >>my_list[-1]
    'Tracy'
    以此类推,可获取倒数第二、第三个:
    >>my_list[-2]
    'Bob'
    因为是有序列表  所有可以用my_list.append() 追加元素到末尾
    >>my_list.append('admin')
    ['Michael', 'Bob', 'Tracy', 'admin']
    插入元素到指定位置,比如加索引到为2的位置:
    >>my_list.insert(2, 'Jack')
    ['Michael', 'Bob', Jack , 'Tracy', 'admin']
    删除元素
    删除末尾的元素
    >>my_list.pop()
    'admin'
    ['Michael', 'Bob', Jack , 'Tracy']
    删除指定位置的元素,用 pop(i)方法,其中i为索引位置:
    >>my_list.pop(1)
    'Bob'
    >>>my_list
    ['Michael' , Jack , 'Tracy']
    删除指定元素
    >>my_list.remove('Bob')
     
    替换指定索引的某个元素
    >>my_list[1] = "Bob"
    >>my_list
    ['Michael', 'Bob', Jack , 'Tracy']
    list里可以是不同类型元素:
    >> LIST = ['apple', 123, True]
    list里可以包含另外一个list
    >>s = ['c', 'c++', ['python', 'asp', 'php'], 'scheme']
    >>len(s)
    4
    s只有四个元素,其中s[2]有事一个list,拆开写就是:
    >>p = ['python', 'asp', 'php']
    >>s =   ['c', 'c++',p ,'scheme']
    要拿到'python'可以写p[1]或者s[2][1],因此s可以称之为二维数组,类似的还有三维、四维数组,不过很少用到。
     
    tuple
    另一种有序列表叫元祖:tuple. tuple和list很相似,但是tuple一旦初始化就不能修改,比如列出同学的名字
    classmates = ('Michael', 'Bob', 'Tracy')
    现在,classmates 这个tuple 就不能变了,它没有append(), insert()这样的方法。其他获取元素的方法和list一样,可以用索引的方式获取。但是不能将指定索引的元素修改成其他值/
     
    不可变的tuple,因为tuple不可变,所以代码更安全。如果可以,尽量用tuple代替list。
     
    tuple的陷阱: 当定义一个tuple时,在定义的时候,tuple的元素必须确定下来!!
     
    定义一个空元素可以写 
     t = ()  或者 t = tuple()
    但是,要定义只有一个元素的tupy,如果这么定义
    >>t = (1)
    >>t
    1
    定义的不是tuple, 是 1 这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此python规定,这种情况下,按小括号计算,结果自然是1
     
    所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
    >> t = (1, )
    >>t
    (1, )
     
    python在显示只有一个元素的tuple时,也会加一个逗号,以免你误解成数学计算意义上的括号。
     
    '可变'的tuple:
    >> t = ('a', 'b', ['A', 'B'])
    >>t[2][0] = 'X'
    >>t[2][1] = 'Y'
    >>t
    ('a', 'b', ['X', 'Y'])
     
    实际上这个tuple还是三个元素,因为包含的list可变,所以,就知道这种看起来tuple可变的现象。
     
    tuple指向了可变的list
     
    要想创建一个内容不变的tuple,就必须保证tuple的每个元素本身也不能变
  • 相关阅读:
    机器学习(01)——机器学习简介
    Harbor本地镜像库安装与使用
    大数据高可用集群环境安装与配置(10)——安装Kafka高可用集群
    大数据高可用集群环境安装与配置(09)——安装Spark高可用集群
    大数据高可用集群环境安装与配置(08)——安装Ganglia监控集群
    大数据高可用集群环境安装与配置(07)——安装HBase高可用集群
    大数据高可用集群环境安装与配置(06)——安装Hadoop高可用集群
    大数据高可用集群环境安装与配置(05)——安装zookeeper集群
    大数据高可用集群环境安装与配置(04)——安装JAVA运行环境
    大数据高可用集群环境安装与配置(03)——设置SSH免密登录
  • 原文地址:https://www.cnblogs.com/netscrt/p/5164269.html
Copyright © 2011-2022 走看看