zoukankan      html  css  js  c++  java
  • 三、python沉淀之路--列表(list)

    一、列表提供的一些方法

    1、append():在原值最后追加

    1 li = [11,22,33,44,55,]
    2 li.append(99)
    3 print(li)
    4 li.append('中国')
    5 print(li)
    1 [11, 22, 33, 44, 55, 99]
    2 [11, 22, 33, 44, 55, 99, '中国']

    2、clear():清空列表

    1 li = [11,22,33,44,55,]
    2 li.clear()
    3 print(li)

    3、copy:拷贝,而且是浅拷贝,有返回值

    1 li = [11,22,33,44,55,]
    2 li1=li.copy()
    3 print(li1)

    4、count:计算列表中某元素出现的次数,有返回值

    1 li = [11,22,33,22,44,22,55,]
    2 n = li.count(22)
    3 print(n)

    返回值:3

    5、extend:扩张原列表,参数必须是 可迭代对象

     1 li = [11,22,33,22,44,22,55,]
     2 li.extend(['北京’,‘长安街'])
     3 print(li)
     4 
     5 for i in ['北京','长安街']:  #extend实际上相当于进行了for循环和append的组合应用
     6     li.append(i)
     7 print(li) 
     8 
     9 li.extend("北京")    #字符串也是可迭代对象,经过extend后把每个元素分开加进去
    10 print(li)
    11 li.extend("abc")
    12 print(li)
    13 
    14 li.append(['北京','长安街'])  #对比后,append会把整体加到列表最后,不会分开加进去
    15 print(li)
    1 [11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街']
    2 [11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街']
    3 [11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街', '', '']
    4 [11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街', '', '', 'a', 'b', 'c']
    5 [11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街', '', '', 'a', 'b', 'c', ['北京', '长安街']]

    6、index:获取对应值的索引位置(左边优先)

    1 li = [11,22,33,22,44,22,55,]
    2 n = li.index(22)
    3 print(n)

    返回值:1

    7、insert:在指定位置插入元素

    1 li = [11,22,33,22,44,22,55,]
    2 li.insert(0,77)
    3 print(li)
    1 [77, 11, 22, 33, 22, 44, 22, 55]

    8、pop:删除某个值,并且可以获取删除的值,删除分两种:一种默认删除最后一个;二是指定索引位置删除某元素

    1 li = [11,22,33,22,44,22,55,]
    2 s = li.pop()
    3 print(li)
    4 print(s)
    5 s1 = li.pop(0)
    6 print(li)
    7 print(s1)
    1 [11, 22, 33, 22, 44, 22]
    2 55
    3 [22, 33, 22, 44, 22]
    4 11

    9、remove:删除指定的元素

    1 li = [11,22,33,22,44,22,55,]
    2 li.remove(33)
    3 print(li)
    1 [11, 22, 22, 44, 22, 55]

    总结:目前位置已经学了物种删除方法: pop   remove   del li[2]     del li[1:4]   clear

    10、reverse:将当前列表进行反转

    1 li = [11,22,33,22,44,22,55,]
    2 li.reverse()
    3 print(li)
    1 [55, 22, 44, 22, 33, 22, 11]

    11、sort:排序,默认从小到大排序,括号里设为真时,从大到小排序

    1 li = [11,55,22,33,22,44,22,]
    2 li.sort()
    3 print(li)
    4 li.sort(reverse=True)
    5 print(li)
    1 [11, 22, 22, 22, 33, 44, 55]
    2 [55, 44, 33, 22, 22, 22, 11]

    同类方法,后面还要学 :cmp    key    sorted

    二、列表的其他常用方法

    1、列表里面可以嵌套任何形式。里面的元素可以是 数字、列表、字符串、布尔值等等

    2、可以索引取值

    print(li[3])

    3、可以切片,获取片段,片段还是列表

    print(li[2:5])

    print(li[3:-1])

    4、可以进行for 循环,因为是可迭代的,也可以whlie循环,

    5、列表生成后,可以修给里面的元素;   字符串一旦生成后,里面的元素不可修改

    6、可以索引修改、删除里面的元素

    1 li = [11,55,22,33,22,44,22,]
    2 #索引修改值
    3 li[0]=9
    4 print(li)
    5 #索引删除值
    6 del li[1]
    7 print(li)
    1 [9, 55, 22, 33, 22, 44, 22]
    2 [9, 22, 33, 22, 44, 22]

    7、切片获取片段,切片删除片段

    1 li2 = [11,55,22,33,22,44,22,]
    2 #切片
    3 ss = li2[2:-1]
    4 print(ss)
    5 #删除一段
    6 del li2[2:-1]
    7 print(li2)
    1 [22, 33, 22, 44]
    2 [11, 55, 22]

    8、in 操作、 深度索引操作

    1 li = [22,44,5,7,"china",[99,"nice"],"good",True]
    2 v1 = 22 in li
    3 print(v1)
    4 v2 = "nice" in li
    5 print(v2)
    6 
    7 v = li[5][1]
    8 print(v)
    1 True
    2 False
    3 nice

    9、转换

    str 转  int

    1 s = "12345"
    2 n = int(s)
    3 print(n)

    int 转str

    1 n = 1223454
    2 s = str(n)

    字符串转列表

    1 s = "abcdefg"
    2 li = list(s)
    3 print(li)
    1 ['a', 'b', 'c', 'd', 'e', 'f', 'g']

    列表转字符串:分两种:一是列表里只有字符串形式的元素,这时既可用for循环,又可用join法;二是列表里除了有字符串,还有其他类型,只能用for循环

    1 li = [22,4,4,66,"hello","world"]
    2 s = ""
    3 for i in li:
    4     s =s + str(i)
    5 print(s)
    6 
    7 li2 = ["hello","world"]
    8 s = "".join(li2)
    9 print(s)
    1 224466helloworld
    2 helloworld

    10、补充

    字符串创建以后不可以被修改

    1 s = "abcdefg"
    2 s1=s.replace("a","0")  #这里的改动,不是把原来的改了,而是在内存里另外开辟了一块空间,将新的字符串存起来了,通过下面两个print输出结果可以证明
    3 print(s)
    4 print(s1)
    1 abcdefg
    2 0bcdefg

    字符串不可以通过索引来修改

    #########i列表有序,元素可以被修改###############

    类与对象的区别

  • 相关阅读:
    P3952 [NOIP2017 提高组] 时间复杂度
    1905. 统计子岛屿
    1102 Invert a Binary Tree (25 分)
    P1077 [NOIP2012 普及组] 摆花
    P3915 树的分解
    P1045 [NOIP2003 普及组] 麦森数
    P4961 小埋与扫雷
    P1123 取数游戏
    P1460 [USACO2.1]健康的荷斯坦奶牛 Healthy Holsteins
    CF1059B Forgery
  • 原文地址:https://www.cnblogs.com/jianguo221/p/8940243.html
Copyright © 2011-2022 走看看