zoukankan      html  css  js  c++  java
  • list和tuple


    title: list和tuple
    date: 2017年3月28日 18:55:33
    categories: python

    查看数据类型的方法:

    help(类型):输出该类型的所有方法,及其详细的解释。
    dir(类型): 将类型的所有方法以列表的形式输出。
    

    list:列表[]

    list是python内置的一种列表。list是一种有序的集合,可以随时添加删除修改其中的元素。

    例如用list存储班级同学的姓名:

    >>>classname=["xiaoming","Michael","jeck"]
    >>>classname
    ["xiaoming","Michael","jeck"]
    

    变量classname就是一个list,可以用len()来获得list中有多少个元素。

    >>>len(classname)
    3
    

    用索引来访问list中的每一个位置的元素,索引是从0开始:

    >>>classname[0]
    "xiaoming"
    >>>classname[1]
    "Michael"
    >>>classname[3]
    超出范围会报错:
    IndexError:list index out of range
    

    除了用正数索引外,还可以用负数索引。

    list[-1]:表示最后一个元素
    list[-2]:表示倒数第二个元素
    

    插入

    list是一个可变的序列表,所以可以往list中追加元素。

    list.append:追加到尾部.

    >>>a = [1,2,3]
    >>>a.append(4)
    >>>a
    [1,2,3,4]
    

    list.insert(index,element):追加到指定位置。

    >>>a=[1,2,3,4,6]
    >>>a.insert(4,5) #4是列表中的位置6的位置,在他前面插入5
    >>>a
    [1,2,3,4,5,6]
    

    删除

    list.pop():删除list末尾的元素。

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

    list.pop(index):删除指定位置的元素:

    >>>a=[1,2,3,4,5]
    >>>a.pop(0)
    >>>a
    [2,3,4,5]
    

    除此之外还有list.rmove(element):删除指定的元素,如果有重复的则删除左边最近的。

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

    del list[index] :删除指定位置的元素。

    替换

    如果想要替换list中的某个元素。可以直接赋值:

    >>>a =[1,2,3,4,5]
    >>>a[4]=6
    >>>a
    [1,2,3,4,6]
    

    查找

    list.index(element) :返回index值。

    list.count(element) : 返回重复元素的个数

    清空和扩展

    list.clear():清空列表中元素。

    del list :删除整个列表。

    a=[1,2,3]
    
    b=[4,5,6]
    
    a.exted(b) :将b中的元素加到a中。b中元素不变。
    
    a=[1,2,3,4,5,6]
    
    b=[4,5,6]
    

    反转,排序

    a=[1,2,3,4]
    
    a.reverse() :反转
    
    a=[4,3,2,1]
    
    
    
    a=["a","c","b","d"]
    
    a.sort() :排序
    
    a=["a","b","c","d"]
    

    如果列表中既存在数字又存在字符,在python3中会报错,所以数字需要用引号转化成字符。
    排列是按ASCII码排列,依然是数字在前。

    深拷贝和浅拷贝

    浅拷贝:

    a=[1,2,3,4]
    b=a
    
    a=[1,2,3,4]
    b=[1,2,3,4]
    
    a.pop()  #删除最后一个元素
    a=[1,2,3]
    b=[1,2,3] #b中的元素也会跟着改变
    

    深拷贝:

    copy()

    a=[1,2,3,["a","b","c"]]
    b=a.copy()
    b=[1,2,3,["a","b","c"]]
    
    a.remove(1)
    a=[2,3,["a","b","c"]]
    b=[1,2,3,["a","b","c"]
    
    a[2][0]="A"
    
    a=[2,3,["A","b","c"]]
    b=[1,2,3,["A","b","c"]]
    

    copy.deepcopy()

    a=[1,2,3,4,["a","b"],5]
    b=copy.deepcopy(a)
    
    b=[1,2,3,4["a","b"],5]
    
    a.pop()  #删除最后一个元素
    
    
    a=[1,2,3,4,["a","b"]]
    b=[1,2,3,4,["a","b"]]
    
    
    a[4][1]="A"
    
    
    a=[1,2,3,4,["A","b"]]
    b=[1,2,3,4,["a","b"]]
    

    tuple:元组()

    另一种有序的列表叫元组,tuple和list非常相似,但是tuple一但初始化就不能再更改,比如:

    >>>a = (1,2,3,4,5)
    

    现在a就是一个tuple,他不能改变,所以没有insert和append等方法。获取元素的方法和list一样。

    如果要定义一个空的tuple可以写成:

    >>>tuple=()
    >>>tuple
    ()
    

    如果要定一个只有一个元素的tuple,可以:

    >>>tuple=(1,)
    >>>tuple
    (1,)
    

    如果不加, 而只写(1),这里就会把括号当成运算来看。运算结果为1.

    >>>a=(1)
    >>>a
    1
    

    tuple的方法:count和index

  • 相关阅读:
    寻找研究基于NS2研究覆盖网络的小伙伴:)
    ubuntu14.04 键盘错位小问题
    关于NS2安装的若干问题
    关于ubuntu下词典安装
    与NS2一起度过第一个圣诞夜!(NS2入门学习参考资料)
    【转】影响CSS渲染速度的十条编码方法与建议
    类型初始值设定项引发异常
    【转】实用的CSS Hack
    【转】CSS技巧:五个方面促进你写出更加专业的CSS代码
    IIS6.0架构
  • 原文地址:https://www.cnblogs.com/G-YUE/p/6653097.html
Copyright © 2011-2022 走看看