• Python基本知识(3)


    1、列表的增删改查

    1.1、增

     1 #append:在末尾增加,直接修改旧的列表
     2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
     3 lst.append('绿巨人')
     4 print(lst)
     5 #result:
     6 # ['钢铁侠', '蜘蛛侠', '雷神', '灭霸', '绿巨人']
     7 
     8 #insert
     9 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    10 lst.insert(1,'绿巨人')
    11 print(lst)
    12 #result:
    13 # ['钢铁侠', '绿巨人', '蜘蛛侠', '雷神', '灭霸']
    14 
    15 #extend:extend后的结果是修改原先的列表,与拼接类似,但与拼接不同的是,拼接返回的是一个全新的列表
    16 #1、:第一种extend不是迭代添加进去,他可以将整个内容一次性添加
    17 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    18 lst_add = ['绿巨人']
    19 lst.extend(lst_add)
    20 print(lst)
    21 #result:
    22 # ['钢铁侠', '蜘蛛侠', '雷神', '灭霸', '绿巨人']
    23 #2、:第二种extend是迭代添加,即分解成每一个元素,分别添加。
    24 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    25 lst.extend('绿巨人')
    26 print(lst)
    27 #result:
    28 # ['钢铁侠', '蜘蛛侠', '雷神', '灭霸', '绿', '巨', '人']
    29 #3、迭代方法添加不可以添加int类,会报错
    30 '''
    31 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    32 lst.extend(123)
    33 print(lst)
    34 '''
    35 #4、可以添加列表
    36 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    37 lst.extend([1,2,3])
    38 print(lst)

    1.2、删

     1 #pop:pop是唯一一个既修改列表又返回一个非None值的列表方法
     2 #1、指定删除元素
     3 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
     4 name = lst.pop(2)#name即返回的值
     5 print(lst,name)
     6 #result:
     7 # ['钢铁侠', '蜘蛛侠', '灭霸'] 雷神
     8 
     9 #2、默认删除最后一个元素,关于具体默认删除规则,请参考Python基础教程(3):35-36
    10 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    11 name = lst.pop()
    12 print(lst,name)
    13 #result:
    14 # ['钢铁侠', '蜘蛛侠', '雷神'] 灭霸
    15 
    16 #remove:删除指定元素
    17 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    18 lst.remove('蜘蛛侠')
    19 print(lst)
    20 #result:
    21 # ['钢铁侠', '雷神', '灭霸']
    22 
    23 #clear:清空列表
    24 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    25 lst.clear()
    26 print(lst)
    27 #result:
    28 # []
    29 
    30 #del
    31 #1、删除lst后,就没有了这个列表了,故报错
    32 '''
    33 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    34 del lst
    35 print(lst)
    36 '''
    37 
    38 #2、删除指定元素
    39 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    40 del lst[2]
    41 print(lst)
    42 #result:
    43 # ['钢铁侠', '蜘蛛侠', '灭霸']
    44 
    45 #3、切片删除
    46 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    47 del lst[2:]
    48 print(lst)
    49 #result:
    50 # ['钢铁侠', '蜘蛛侠']

    1.3、改

     1 #1、修改单个
     2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
     3 lst[1] = '绿巨人'
     4 print(lst)
     5 #result:
     6 # ['钢铁侠', '绿巨人', '雷神', '灭霸']
     7 
     8 #2、修改多个,迭代添加,先删除第0个和第1个,然后添加每一个,不论有多少个
     9 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    10 lst[0:2] = '美国队长'
    11 print(lst)
    12 #result:
    13 # ['美', '国', '队', '长', '雷神', '灭霸']
    14 
    15 #3、非迭代,通过列表方式修改
    16 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    17 lst[0:2] = ['美国队长','绿巨人']
    18 print(lst)
    19 #result:
    20 # ['美国队长', '绿巨人', '雷神', '灭霸']

    1.4、查

     1 #1、查询所有
     2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
     3 for i in lst:
     4     print(i)
     5 # result:
     6 # 钢铁侠
     7 # 蜘蛛侠
     8 # 雷神
     9 # 灭霸
    10 
    11 #2、切片查找
    12 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    13 print(lst[0:2])
    14 # result:
    15 #['钢铁侠', '蜘蛛侠']
     1 lst = (1,2,3,'dfds',[1,'dfd','地方'],'对方的')
     2 #1、
     3 for i in lst:
     4     if type(i) == list:
     5         for k in i:
     6             print(k)
     7     else:
     8         print(i)
     9 
    10 #2、
    11 for i in range(0,len(lst)):
    12     if type(lst[i]) == list:
    13         for j in lst[i]:
    14             print(j)
    15     else:
    16         print(lst[i])
    17 #result
    18 #1
    19 # 2
    20 # 3
    21 # dfds
    22 # 1
    23 # dfd
    24 # 地方
    25 # 对方的
    遍历列表中的元素

    1.5、一些公共的方法

     1 #len:计算长度
     2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
     3 print(len(lst))
     4 # result:
     5 #4
     6 
     7 #count:统计次数
     8 lst = ['钢铁侠','蜘蛛侠','雷神','雷神','灭霸']
     9 print(lst.count('雷神'))
    10 # result:
    11 #2
    12 
    13 #index:获取索引,若没有当前元素,则会报错
    14 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸']
    15 print(lst.index('雷神'))
    16 # result:
    17 #2
    18 
    19 #sort:
    20 #1、列表正向排序
    21 num_of_lst = [1,5,8,9,6,3,4,7]
    22 num_of_lst.sort()
    23 print(num_of_lst)
    24 # result:
    25 #[1, 3, 4, 5, 6, 7, 8, 9]
    26 
    27 #2、列表逆向排序
    28 num_of_lst = [1,5,8,9,6,3,4,7]
    29 num_of_lst.sort(reverse = True)
    30 print(num_of_lst)
    31 # result:
    32 #[9, 8, 7, 6, 5, 4, 3, 1]
    33 
    34 #reverse:反转
    35 num_of_lst = [1,5,8,9,6,3,4,7]
    36 num_of_lst.reverse()
    37 print(num_of_lst)
    38 # result:
    39 #[7, 4, 3, 6, 9, 8, 5, 1]
    View Code

      这些公共的方法包括:len、count、index、sort、reverse

    2、元祖的嵌套,range,for循环的嵌套

      元祖是不可修改的序列。

      一个只包含一个元素的元祖,必须在这个元素的后面加上逗号,如:(1,)。否则他就是(1),而(1)和1并无区别。

      元祖的儿子不可修改,但是元祖的孙子可能会被修改:

    1 lst = (1,2,3,'dfds',[1,'dfd','地方'],'对方的')
    2 lst[4][1] = lst[4][1].upper()
    3 print(lst)
    View Code

      在这里,修改的是元祖里面的列表。

      下面将介绍一些join的使用:

     1 #join
     2 #join针对的是可迭代对象,如字符串和列表
     3 s = 'hello'
     4 end_s = '@'.join(s)
     5 print(end_s)
     6 #result:
     7 #h@e@l@l@o
     8 
     9 #join的一些用法:将列表转成字符串
    10 lst = ['李小龙','我的','男神']
    11 print(''.join(lst))
    12 #result:
    13 #李小龙我的男神
    14 
    15 #若将字符串转成列表,用split
    16 s = '李小龙:我:男神'
    17 print(s.split(''))
    18 #result:
    19 #['李小龙', '我', '男神']
    join

      range的使用:

     1 #range
     2 #1、range(0,5)--->[0,1,2,3,4]
     3 for i in range(0,5):
     4     print(i)
     5 # result:
     6 # 0
     7 # 1
     8 # 2
     9 # 3
    10 # 4
    11 
    12 #2、
    13 for i in range(5):
    14     print(i)
    15 #结果同上
    16 
    17 #3、加上步长
    18 for i in range(0,10,2):
    19     print(i)
    20 # result:
    21 # 0
    22 # 2
    23 # 4
    24 # 6
    25 # 8
    26 
    27 #这种什么都不打印
    28 for i in range(0,10,-1):
    29     print(i)
    range
  • 相关阅读:
    Linux C++ 网络编程学习系列(2)——多路IO之select实现
    Linux C++ 网络编程学习系列(1)——端口复用实现
    Linux c++ vim环境搭建系列(5)——vim使用
    Linux c++ vim环境搭建系列(4)——vim插件安装配置使用
    Linux c++ vim环境搭建系列(3)——Ubuntu18.04.4编译安装youcompleteme
    0512String类
    0511Object类和异常
    Leetcode--53. 最大子序和
    哥德巴赫猜想 Java实现
    面向对象案例-学生信息管理系统V1.1
  • 原文地址:https://www.cnblogs.com/missdx/p/10852003.html
Copyright © 2020-2023  润新知