zoukankan      html  css  js  c++  java
  • Day2:列表、元组

    一、列表

      1.定义与访问元素(按索引)

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:Hiuhung Wan
    list_a = ["a","b","c",1,2,3]
    list_b = []
    print(type(list_a),type(list_b))   #<class 'list'> <class 'list'>
    print(list_a[0])      #a
    print(list_a[1])      #b
    print(list_a[-1])     #3
    #print(list_b[0])   #空列表,这样会报错,IndexError: list index out of range
    

      2.切片(分片)

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:Hiuhung Wan
    list_a = ["a","b","c",1,2,3]
    print(list_a[1:3])       #取索引为第一和第二的元素:['b', 'c']
    print(list_a[-3:-1])     #负数表明从右开始计数,取索引为倒数第三和倒数第二的元素:[1, 2]
    print(list_a[-3:])       #取最后三个元素  :[1, 2, 3]
    print(list_a[0:])        #从第一个元素开始输出,输出全部结果:['a', 'b', 'c', 1, 2, 3]
    print(list_a[:3])        #取前三个元素,等同于 print(list_a[0:3]):['a', 'b', 'c']
    

      第一个索引的元素包含在分片内,第二个索引的元素不包含在分片内。像数学里的a<=x<b ,x是我们需要得到的元素,a是分片操作中的第一个索引,b是第二个索引,b不包含在x的范围内。

      3.增加元素

      语法:list.append(obj),追加到后面。任意指定位置用insert(index,obj)方法,一次只能插入一个元素

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:Hiuhung Wan
    list_a = ["a","b","c",1,2,3]
    list_a.append("python")
    print(list_a)             #追加到后面  :['a', 'b', 'c', 1, 2, 3, 'python']
    list_a.insert(2,"NBA")   #表示把"NBA"插入到下标为2的位置,即第3个位
    print(list_a)            #['a', 'b', 'NBA', 'c', 1, 2, 3, 'python']
    

      

      4.修改元素

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:Hiuhung Wan
    list_a = ["a","b","c",1,2,3]
    list_a[2] = "about"   #直接修改
    print(list_a)          #  ['a', 'b', 'about', 1, 2, 3]
    

      

      5.删除元素

        5.1   list.remove(obj)

        5.2   del list[x]

        5.3   list.pop(x) = del list[x],如果不输入下标, list.pop() ,默认删除最后一个

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:Hiuhung Wan
    list_a = [2,3,4,5,-1,0,1,2,3]
    list_a.remove(2)      #此参数不是下标,是元素,有重复元素时,删掉第一个  :[3, 4, 5, -1, 0, 1, 2, 3]
    del list_a[-1]        #-1代表最后一个元素   :[3, 4, 5, -1, 0, 1, 2]
    list_a.pop(3)         #删掉第三个元素       :[3, 4, 5, 0, 1, 2]
    list_a.pop()          #删掉最后一个元素     :[3, 4, 5, 0, 1]
    print(list_a)
    

      

      6.确定某个元素所在的位置

      list.index(obj),当元素重复时,返回第一个位置

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:Hiuhung Wan
    list_a = [2,3,4,5,-1,0,1,2,3]
    print(list_a.index(3))           #返回元素为3的位置,如有重复元素,则返回第一个的位置:1
    print(list_a[list_a.index(3)])   #索引                   :3
    

      

      7.copy

        7.1   浅copy

          7.1.1   用copy模块中的copy方法

          7.1.2   用切片的方式

    1 #!/usr/bin/env python
    2 # -*- coding:utf-8 -*-
    3 # Author:Hiuhung Wan
    4 import copy
    5 person =["name",["saving",100]]
    6 p2 = person[:]
    7 print(p2)
    View Code

          7.1.3   用列表自带的copy()方法

    1 #!/usr/bin/env python
    2 # -*- coding:utf-8 -*-
    3 # Author:Hiuhung Wan
    4 import copy
    5 person =["name",["saving",100]]
    6 p3 = person.copy()
    7 print(p3)
    View Code

          7.1.4   list()方法

    1 #!/usr/bin/env python
    2 # -*- coding:utf-8 -*-
    3 # Author:Hiuhung Wan
    4 import copy
    5 person =["name",["saving",100]]
    6 p4 = list(person)
    7 print(p4)
    View Code

        7.2   深copy

      copy.deepcopy(list)

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # Author:Hiuhung Wan
     4 import copy
     5 person =["name",["saving",100]]
     6 p5 =copy.deepcopy(person)
     7 person[0] = "Wenxh"
     8 person[1][0] = "salary"
     9 print(person)
    10 print(p5)
    View Code

      8.其他常用方法

        8.1   list.count(ojb),统计元素出现的次数

        8.2   list.clear(),清除列表,列表就没有了

        8.3   list.reverse(),列表元素反转

        8.4   list.sort(),排序(特殊符号<数字<大写<小写,按ASCII排序)

        8.5   list.extend(list2),追加,合并

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # Author:Hiuhung Wan
     4 list_a = ["pen","pencil","book","watch","book","coat"]
     5 list_b = ["0car","Ahouse","umbrella","#tichet","shirt"]
     6 print(list_a.count("book"))    #统计元素出现的次数  :2
     7 #list_a.clear()                  #清除列表,列表就没有了(空)  :[]
     8 print(list_a)
     9 list_a.reverse()                #列表元素反转
    10 print(list_a)                   #['coat', 'book', 'watch', 'book', 'pencil', 'pen']
    11 list_b.sort()         #排序(特殊符号<数字<大写<小写,按ASCII排序)
    12 print(list_b)         #['#tichet', '0car', 'Ahouse', 'shirt', 'umbrella']
    13 list_a.extend(list_b) #合并,此时list_a的值已发生改变
    14 print(list_a)         #['coat', 'book', 'watch', 'book', 'pencil', 'pen', '#tichet', '0car', 'Ahouse', 'shirt', 'umbrella']
    View Code

    二、元组

       也叫只读列表,一旦创建,便不能更改

      1.语法:

    tuple = ('ZhangBinbin','MaAiping','TuHui')
    

      

      2.方法:只有两个,一个是count,一个是index。

  • 相关阅读:
    MVP项目目前已完成:
    MVP项目图:
    团队项目(MVP:新能源汽车无线充电管理网站)——个人任务
    结对项目:黄金点游戏(何珠&赵艳)
    软件工程作业个人项目: wc项目,统计文本文件的字符数、单词数和行数。
    软件工程个人项目:能自动生成小学四则运算题目的程序
    浏览完软件工程教材后,我的五个问题如下
    Async分析
    session
    XML技术
  • 原文地址:https://www.cnblogs.com/hiuhungwan/p/7689641.html
Copyright © 2011-2022 走看看