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

       Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套。不同之处在于元组的元素不能修改。元组使用小括号列表使用方括号

    创建元组

      元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可

      tuple = ()          #空元组

      tuple2 = ('a','b','c')

      tuple3 = ('d','e','f')

    可以用dir(tuple)查看元组支持的操作;

    元组操作方法及实例展示

      count

    1 功能:统计元组中某元素的个数
    2 语法:T.count(value) -> integer -- return number of occurrences of value
    3 T = ('a','b','c','d',1,2,2,3,4)
    4 T.count(2)
    5 结果:2

    index

    1 功能:获取元素在元组中的索引值,对于重复的元素,默认获取从左起第一个元素的索引值
    2 语法:T.index(value, [start, [stop]]) -> integer -- return first index of value.Raises ValueError if the value is not present.
    3 T = ('a','b',2,'c','d',1,2,3,4)
    4 T.index(2)
    5 结果:2        #元素2第一次出现在索引为2的位置
    6 T.index(2,3,7)
    7 结果:6

    T1 + T2

    1 功能:合并两个元组,返回一个新的元组,原元组不变
     2 语法:T = T1 + T2
     3 T1 = ('a','b','c')
     4 T2 = (1,2,3,4)
     5 T = T1 + T 2
     6 结果:
    7 print T 8 ('a','b','c',1,2,3,4) 9 print T1 10 ('a','b','c') 11 print T2 12 (1,2,3,4)

    T1 * N

    1 功能:重复输出元组N次,返回一个新元组,原元组不变
    2 语法:T = T1 * N
    3 T1 = ('a','b',1,2,3)
    4 T = T1 * 3
    5 结果:
    6 print T
    7 ('a','b',1,2,3,'a','b',1,2,3,'a','b',1,2,3)
    8 print T1
    9 ('a','b',1,2,3)

    元组虽然不可变,但是当元组中嵌套可变元素时,该可变元素是可以修改的,元组本身不变,使用id(tuple)查看。
    1 T = ('a','b','c',[1,2,3,4],1,2,3)
    2 id(T)
    3 140073510482784 4 print T[3] 5 [1,2,3,4] 6 T[3].append(5) 7 print T[3] 8 [1,2,3,4,5] 9 print T 10 ('a','b','c',[1,2,3,4,5],1,2,3)
    11 id(T)
    12 140073510482784

    元组支持切片操作

    1 语法:T[start [, stop[, step]]]
     2 实例演示:
     3 T = ('a','b','c','d','e','f','g','h')
     4 print T[:]                          #取所有元素
     5 ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h')
     6 print T[2:]                         #取从索引2开始到末尾的元素
     7 ('c', 'd', 'e', 'f', 'g', 'h')
     8 print T[2:6]                        #取索引2到6的所有元素,不包含索引6
     9 ('c', 'd', 'e', 'f')
    10 print T[2:6:2]                      #从索引2到6,每隔一个元素取一个
    11 ('c', 'e')


    2.列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。
    列表是 可变类型的数据
    2.1创建 列表l
    ist1 = [ ]

    list2=list()

     list3  = [ 1, 'a',(1,),['hello,python']

    2.2.列表中的元素是可以被 改变的,如下图

     list.append 和删除 del list[]

     

    list.remove(list[])  ,remove 为列表的删除方法。

    list3.  按tab键,可以看到列表的其它方法

    练习:
    现有列表
    list1 = ['XXXX', 'b', 3, 'c', '&', 'a', 3, '3', 3, 'aa', '3', 'XXXX']
    list2 = ['e', 'f', 'g']
    要求对其做以下操作:
    1. 取出 ‘XXXX’ 中间的部分,形成一个新的列表list3

    list1 = ['XXXX', 'b', 3, 'c', '&', 'a', 3, '3', 3, 'aa', '3', 'XXXX']
    list2 = ['e', 'f', 'g']

    list3=list1[1:11]

    利用列表的切片功能,这时候要注意下表从0开始,11这个不包括本身。

    2. 对list3 做一下几部操作
    1)删除特殊符号

    list3.remove('&')


    2)统计 3 在list3中出现的次数

    list3.count(3)


    3)用最简短的代码去除list3中 26个字母以外的元素(要求只能对list3操作)


    4)对list3排序

    list3.sort

    5)在末尾追加'd',并把list2追加到list3

    list3.append('d')

     3. 现有两个变量

    a = ('h',)
    b = ('h')
    1)将a和b分别追加到上一题的list3中,观察有什么区别

    a = ('h',)
    b = ('h')
    list3.append(a)
    list3.append(b)
    print list3


    2)将1生成的list3转换成元组(扩展:自己搜索方法)

    tuple(list3)


    3)打印出只有一个元素'h'的元组,在2中生成的元组中的索引

    
    
    print tuple(list3).index(a)


  • 相关阅读:
    js三种经典排序:冒泡排序、插入排序、快速排序
    CSS小技巧
    2017
    实际开发中的问题积累【积累】
    F.I.S本地环境的搭建教程
    移动端前端开发注意点(未完待续)
    【六】PHP正则表达式方法
    【五】PHP数组操作函数
    【三】php之梗
    【二】php常用方法
  • 原文地址:https://www.cnblogs.com/wolfboy55-163-com/p/8083225.html
Copyright © 2011-2022 走看看