zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    【纯水题】POJ 1852 Ants
    【树形DP】BZOJ 1131 Sta
    【不知道怎么分类】HDU
    【树形DP】CF 1293E Xenon's Attack on the Gangs
    【贪心算法】CF Emergency Evacuation
    【思维】UVA 11300 Spreading the Wealth
    【树形DP】NOI2003 逃学的小孩
    【树形DP】BZOJ 3829 Farmcraft
    【树形DP】JSOI BZOJ4472 salesman
    【迷宫问题】CodeForces 1292A A NEKO's Maze Game
  • 原文地址:https://www.cnblogs.com/missdx/p/10852003.html
Copyright © 2011-2022 走看看