• 列表,元组以及range


    列表,元组以及range

    一.列表(list)

    列表是数据类型之一,它有序,可变,支持索引

    作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等

    # 定义一个列表
    lst = ['alex',123,True,'列表']      用逗号分隔的是一个元素
    
    #print(id(lst[0]))      --   获取元素的内存地址
    

    1.增

    lst = ['alex',123,'wusir',456]
    
    # 追加 : 在列表的最后一个位置添加一个内容
    lst.append('000')
    print(lst)     #['alex',123,'wusir',456,'000']
    
    # 插入 :尽量不要使用(当数据量比较大的时候会影响效率)
    lst.insert(1,'000')
    print(lst)   #['alex','000',123,'wusir',456]
    
    #迭代添加   ("可迭代对象")
    lst.extend('000')
    print(lst)  #['alex',123,'wusir','0','0','0']
    
    

    2.删

    lst = ['alex',123,'wusir',456]
    
    # 弹   默认删除最后一个;有返回值,返回的是被删除的元素;可通过指定索引进        行删除
    lst.pop(2)
    print(lst)   #['alex',123,456]
    
    # 移除  通过元素名字进行删除
    lst.remove('wusir')
    print(lst)  #['alex',123,456]
    
    # del
    del lst[2]      -- 通过索引删除
    print(lst)  #['alex',123,456]
    del lst[0:3]    -- 通过切片删除
    print(lst)  #[456]
    del lst[0:3:2]  -- 通过步长删除
    print(lst)  #[123,456]
    
    #清空 --清空列表
    lst.clear()
    print(lst)  #[]
    
         
    

    3.改

    lst = ['alex',123,'wusir',456]
    
    # 通过索引修改
    lst[2] = "太白"
    print(lst)    #['alex',123,'太白',456]
    
    # 通过切片修改(迭代,新的元素可以超出切片的位数)
    lst[0:3] = "太白金星"
    print(lst)    #['太','白','金','星',456]
    
    # 通过步长修改(迭代,新的元素和位置必须一一对应)
    lst[0:3:2] = "太白"
    print(lst)    #['太',123,'白',456]
    

    4.查

    lst = ['alex',123,'wusir',456]
    
    使用for循环进行查找
    for i in lst:
        print(i)      #alex
                       123
                       wusir
                       456
    通过索引查找
    print(lst[1])    #123
    

    5.列表的嵌套

    # 通过索引取值
    
    lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]
    
    找到wusir
    print(lst[2])
    
    找到太白和wusir
    print(lst[1:3])
    
    找到可口可乐
    print(lst[-1][-2][0])
    
    找到太白的白字
    print(lst[1][-1])
    
    
    

    二.元组(tuple)

    元组是有序的,不可变,支持索引,是一个不可变的列表

    作用:用于存储一些比较重要的信息,在配置文件时会使用.

    s = ('abc',123,'alex',456)
    
    元组不能增删改,可以查(使用for循环)
    

    三.range(范围)

    print(list(range(0,10)))  #[0,1,2,3,4,5,6,7,8,9]
                              # 顾头不顾尾
    range(起始位置,终止位置)
    range(终止位置)
    range(起始位置,终止位置,步长)
    
    
    for和range配合使用
    例:打印100~1
    for i in range(100,0,-1):
        print(i)
     
    打印1~100所有偶数
    for i in range(0,101,2):
        print(i)
        
    让用户输入三次姓名然后用列表打印出来
    # while循环
    lst = []
    a = True
    while a:
        name = input("请输入姓名:")
        lst.append(name)
        if len(lst) == 3:
            a = False
    print(lst)
    
    #for循环
    lst=[]
    for i in range(3):
        lst.append(input('请输入姓名:'))
    print(lst)
    
    
    

    python2和python3的区别

    • python2的range是返回一个列表(xrange和python3中的range是相似的)
    • python3的range是一个可迭代对象,写的是怎样打印的时候就是怎样

    ps:

    面试题:
        
    lst = []
    for i in lst:
        lst.append('alex")
    	print(lst)               #不会打印内容(lst是空的)
                   
    lst = [1,2]
    for i in lst:
    	lst.append('alex')
    	print(lst)             #循环打印lst中的内容(死循环)
                   
    lst = [1,2]
    for i in lst:
    	lst.append('alex')
    print(lst)                  #死循环(不会打印内容)
                   
    lst = []
    for i in range(5):
    	lst.append([])
    print(lst)                 #[[],[],[],[],[]]
    
    lst = [1,2]
    lst[0] = lst
    print(lst)                   #[[...],2]
    
    
  • 相关阅读:
    服务器Jmail配置问题
    Silverlight视频教程、资源下载。如果你觉得看图文不够形象,不够生动,那就看看视频吧。
    AspNetPager,asp.net分页的最终解决方案!
    VS2008的Web Application——net 1.1 CodeBehind 模式的回归(非编译模式)
    修复Jscript(IE浏览器脚本引擎)异常
    SQL Server中查看SQL句子执行所用的时间
    SilverLight开发系列第1步:搭建开发环境
    SilverLight开发系列第2步:使用vs2008和Blend 2.5打造Hellow World程序
    谨慎使用Paypal一类的 支付 中介公司
    一个典型的数据库操作事务死锁分析
  • 原文地址:https://www.cnblogs.com/tutougold/p/11160537.html
Copyright © 2020-2023  润新知