• python全栈-Day 4


    一、列表的增删改查

    1、列表是有序的,可以进行索引和切片操作,同字符串,参照 python全栈-Day 3
    li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
    #列表的增
    li.append('jingjing')  #在原列表尾部增加一个元素,若打印本行,则没有返回值结果为 None
    print(li)
    li.insert(4,'汪晓')  #在原列表索引4的位置,插入一个元素
    print(li)
    li.extend('爸爸')  #在原列表尾部增加多个元素,把参数拆分为单个最小元素,参数必须为可迭代类型,数字是不行的
    print(li)
    
    #列表的删
    name = li.pop(-1)  #按照索引删除,默认删除末尾元素。不建议使用,因为多次使用的索引值会变化可能会删除了错误的元素
    print(li,name)  #该方法有返回值,返回值为删除的索引对应的值
    name = li.remove('爸')  #按照元素删除,该方法无返回值
    print(li,name)
    # name = li.clear()  #清空列表,该方法无返回值
    # print(li,name)
    # del li   #在内存中删除列表,此时打印会报错,因为未被定义
    # print(li)
    del li[3:5]  #可切片删除
    print(li)
    
    #列表的改
    li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
    li[5] = '女神'  #按照索引修改
    print(li)
    li[0:2] = '云姐哈哈123'  #切片修改,删除切片的元素,将赋值结果 拆分为单个最小元素插入到切片的位置
    print(li)
    li[0:4] = [1,2,3,'云姐哈哈123']
    print(li)
    
    #列表的查
    li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
    print(li[0:4])
    for i in li:
        print(i)
    一个实例
    #实例:用户可持续输入一个字符串,将全部字符串存到一个列表中并输出,若输入q则停止输入
    staff_list = []
    while 1:
        add_name = input('请输入新增的姓名')
        if add_name.upper() == 'Q':
            break
        elif bool(add_name) == True:
            staff_list.append(add_name)
    print(staff_list)

    二、列表的其他方法

    #列表的排序
    li = [1,6,3,6,8,9,3,5,2]
    li.reverse()  #翻转
    print(li)
    li.sort()  #正序排序
    print(li)
    li.sort(reverse = True)  #倒序排序
    print(li)
    
    #公共方法
    li = ['alex',123,[1,2,3],'wusir','egon','女生','taibai']
    print(len(li))  #列表长度
    print(li.count(123))  #计算列表中某元素的个数
    print(li.index('wusir'))  #通过元素找索引,列表只有index没有find

    三、列表的嵌套

    li = ['taibai','王静','汪晓',['alex','egon',89],23]
    print(li[3][1][2].capitalize())
    li[2] = li[2].replace('晓','xiaoxiao')
    li[3][0] = li[3][0].upper()
    
    print(li)
    

    四、元组

    tu = (1,23,'alex',[2,3,4,'taibai'],'egon')
    print(tu[0:4])  #元组是只读列表,只能查询,可循环,可切片
    for i in tu:
        print(i)
    tu[3][3] = tu[3][3].upper()  #儿子不能改,孙子可能可以改(元组的元素为列表,该列表不能整个修改,但是该列表的子元素可以修改)
    print(tu)
    tu[3].append('sb')
    print(tu)
    

     五、其他方法

    s = 'alex'
    print('=='.join(s))  #参数必须为可迭代对象(有多个元素组成,str、list、tup、dict集合),将可迭代对象的每个元素用==连接
    li = ['taibai','王静','jing']
    print(''.join(li))   #列表转化为字符串用join(其中列表全部参数必须为str),字符串转换为列表用split
    
    for i in range(0,10,2):  #range(首,尾,步长)是一个按数字排列的数字,顾头不顾尾
        print(i)
    for i in range(10):
        print(i)
    for i in range(10,0,-1):  #关于参数的限制,参照切片,python全栈-Day 3
        print()
    

    其他:del 方法的慎用

    l = [11,22,33,44]
    for i in l:
        del l[l.index(i)]  #按照索引删除
    print(l)  #[22, 44],del会让元素个数减少,但是索引值是从0、1、2、3,没有按照元素的个数变化
    
    
    l = [11,22,33,44]
    for i in range(len(l)):
        del l[i]  #按照元素删除
        print(l)  #报错,数组超出范围
    

     课后作业

    1、将列表的所有层级的子元素按照顺序打印出来

    li = ['alex',1,2,[1,['wangjing'],'jingjing',(1,2,'wangjing')]]
    for i in li:
        if type(i) == list:
            li[li.index(i):li.index(i)+1] = i
        elif type(i) == tuple:
            li[li.index(i):li.index(i) + 1] = i
        else:
            continue
    print(li)
  • 相关阅读:
    confluent-kafka python Producer Consumer实现
    kafka producer.poll producer.flush consumer.poll的区别
    kafka Java创建生产者报错:Invalid partition given with record: 1 is not in the range [0...1)
    Kafka通讯的Java实例
    虚机克隆搭建kafka服务器集群
    kafka报错解决:Broker may not be avaliable
    Kafka+Zookeeper+confluent-kafka搭建
    Kafka学习笔记
    【SpringCloud】 第十篇: 高可用的服务注册中心
    【SpringCloud】 第九篇: 服务链路追踪(Spring Cloud Sleuth)
  • 原文地址:https://www.cnblogs.com/txbbkk/p/9302231.html
Copyright © 2020-2023  润新知