• Python基础学习三 list-增删改查、切片、循环、排序


    一、list 增删改查

    1、增加

    方式一:

    stus = ['xiaohei','xiaobai','xiaohuang','cxdser']

    stus.append('test001')#从最后面开始插入

    print(stus)

    输出:['xiaohei', 'xiaobai', 'xiaohuang', 'cxdser', 'test001']

     

    方式二:

    stus = ['xiaohei','xiaobai','xiaohuang','cxdser']

    stus.insert(1,'test002') #从指定位置插入,这个1代表下标

    print(stus)

    输出:['xiaohei', 'test002', 'xiaobai', 'xiaohuang', 'cxdser']

     

    注意:

    stus = ['xiaohei','xiaobai','xiaohuang','cxdser']

    stus.insert(1000,'test003') #如果你指定的下标不存在,那么就是在末尾添加

    print(stus)

    输出:['xiaohei', 'xiaobai', 'xiaohuang', 'cxdser', 'test003']

     

    2、修改

    stus = ['xiaohei','xiaobai','xiaohuang','cxdser']

    stus[2]='louis'

    print(stus)

    输出:['xiaohei', 'xiaobai', 'louis', 'cxdser']

     

    3、查看

    stus = ['xiaohei','xiaobai','xiaohuang','cxdser']

    stus[2]='louis'

    print(stus)

    print(stus[-1]) #负数表示倒数

    print(stus.count('louis'))#查看某个元素在这个里面的个数,如果该元素不存在,那么返回0

    输出:

    ['xiaohei', 'xiaobai', 'louis', 'cxdser']

    cxdser

    1

     

    4、删除

    stus = ['test000','test001','test002','test003','test004']

     

    stus.pop(0)#默认删除最后一个元素,如果指定下标,那么删除指定的元素

    print(stus)

    输出:['test001', 'test002', 'test003', 'test004']

    stus.remove('test002')#删除list里面的一个元素

    print(stus)

    输出:['test001', 'test003', 'test004']

    del stus[1]

    print(stus)

    输出:['test001', 'test004']

    stus.clear()#清空整个list

    print(stus)

    输出:[]

     

    5、排序

    reverse()方法

    stus = ['test000','test001','test002','test003','test004']

    stus.reverse()#反转list

    print(stus)

    输出:['test004', 'test003', 'test002', 'test001', 'test000']

     

    sort()排序方法

    nums = [9,31,345,12,457,2352,12143,2321]

    nums.sort()

    print(nums)

    输出:[9, 12, 31, 345, 457, 2321, 2352, 12143]

    nums.sort(reverse=True) #排序,默认排序是升序,如果指定了reverse=True就是按照降序拍

    print(nums)

    输出:[12143, 2352, 2321, 457, 345, 31, 12, 9]

     

    sorted()方法

    a = [5, 7, 6, 3, 4, 1, 2]

    b = sorted(a) #即可以保留原列表,又能得到已经排序好的列表

    print(a)

    print(b)

    输出:[5, 7, 6, 3, 4, 1, 2]

    [1, 2, 3, 4, 5, 6, 7]

    c=sorted('www.cnblogs.com')

    print(c)

    输出:['.', '.', 'b', 'c', 'c', 'g', 'l', 'm', 'n', 'o', 'o', 's', 'w', 'w', 'w']

     

     

    二、多维数组

    1、二维数组 三维数组

    two_list = [123,456,[789,10,11]]

    three_list = [ 123, 456, [789,10,11, ['hahaha','1234'] ]]

    print(two_list[2][1])

    输出:10

    a = [1,2,3]

    b = [4,5,6]

    a.extend(b)#合并两个list

    print(a)

    print(b)

    输出:[1, 2, 3, 4, 5, 6]

    [4, 5, 6]

     

    三、list切片、循环

    stus = ['test000','test001','test002','test003','test004']

     

    stus1=stus[1:4] # 取下标1至下标4之间值,包括1,不包括4

    print(stus1)

    输出:['test001', 'test002', 'test003']

    stus2=stus[1:-1] # 取下标1至-1的值,不包括-1

    print(stus2)

    输出:['test001', 'test002', 'test003']

    stus3=stus[0:3] # 取下标0至3的值,不包括3

    print(stus3)

    输出:['test000', 'test001', 'test002']

    stus4=stus[:3] # 取下标0至3的值,不包括3,和上面的效果一样,0可以省略不写

    print(stus4)

    输出:['test000', 'test001', 'test002']

    stus5=stus[2:] # 取从第二个下标开始的后面所有元素

    print(stus5)

    输出:['test002', 'test003', 'test004']

     

    总结:切片是不包含后面那个元素的值的,记住顾头不顾尾;

     

    #切片同样适用于字符串,字符串也有下标

    title='今1天234发5苹67果890'

    print(title[:6])

    输出:今1天234

     

    查询遍历:

    list1 = ["这", "是", "一个", "测试?"]

    for a in range (len(list1)):

    print(a ,list1[a])#注意缩进

     

    list1 = ["测试", "一个", "是", "这"]

    for index, item in enumerate(list1):

    print(index, item)#注意缩进

    输出: 0 测试

    1 一个

    2

    3

     

    例子:非空即真、非0即真;strip()验证是否为空

    for i in range(3):

    username = input('username:').strip()

    passwd = input('passwd:').strip()

    if username and passwd:

    if username=='louis' and passwd=='123':

    print('%s欢迎登录'%username)

    break

    else:

    print('账号/密码错误!')

    else:

    print('账号/密码不能为空')

    else:

    print('错误失败次数太多!')

     

  • 相关阅读:
    每日一(水)题
    操作树学习笔记
    「THUSCH 2017」大魔法师
    几个规律
    DP专题(DP进阶题单 )
    康托展开&逆康托展开
    一道题目
    P5629 【AFOI-19】区间与除法 题解
    留言板
    NOIP2020考试总结
  • 原文地址:https://www.cnblogs.com/louis-w/p/8178030.html
Copyright © 2020-2023  润新知