zoukankan      html  css  js  c++  java
  • 列表 & 元祖 & range

    基本定义

    相当于一个容器,有序,可变,支持索引

    可以存储数据,支持的数据类型很多:字符串,数字,布尔值,列表,集合,元祖,字典

    # 定义个列表
    lst = ["adb", 123, True, "黑哥"]
    # 用逗号分隔的是一个元素
    print(lst) # 原样输出
    print(lst[0])   # 输出单个元素
    print(id(lst[0]))    # id获取对象的内存地址
    
    
    lst[0] = "烧饼"     # 把"abc"内存的地址指向"烧饼",id更新
    print(lst)
    # lst存放的是每个元素对应的内存地址
    
    增加元素

    Append 追加(在列表的最后位置添加一个内容)

    lst.append("小狗")   # 在最后的位置添加
    print(lst)
    

    Insert 固定位置添加

    lst.insert(2,'wusir')   #尽量不实用,因为当数据量比较大的时候会影响效率
    print(lst)
    

    Extend 迭代添加

    lst.extend("今天好")   #迭代添加 
    print(lst)
    注意:不能放数字和布尔值
    
    Pop删除

    默认删除最后一个

    lst.pop()    # 默认删除最后一个,有返回值,返回的是被删除的元素
    print(lst)
    

    通过索引删除

    lst.pop(2)      # 索引删除
    print(lst)
    

    移除 —— 通过元素名字进行删除

    只会移除第一个相同的元素

    lst.remove("烧饼")    # 删除第一个相同的元素
    print(lst)
    
    del 删除
    del lst[0]      # 通过索引删除
    del lst[0:3]     # 根据切片删除
    print(lst)
    
    del lst[0:3:2]     # 根据切片步长删除
    print(lst)
    
    clear 清空列表
    lst.clear()   # 清空列表
    print(lst)
    
    查找:
    lst = ["dsb",123,"dsb",True,"黑哥"]
    for i in lst:
      print i
    
    嵌套
    lst = [1,"alex","春生","小东北","渣弟",
           ["大黑哥",["常鑫",["自行车"],"大煎饼","掉井盖","三金"],
        "冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]]
    # 海峰
    print(lst[-1][3])
    # 女神
    print(lst[-1][-1][1])
    

    注意⚠️:不管什么类型进行切片的时候,获取的都是源数据类型

    替换
    li[1] = "Kelly"    # 直接把第二个元素改成了Kelly
    print(li)
    

    元组

    基本定义

    元组 — tuple(他跑),有序,不可变,支持索引

    无增删改,支持索引

    元组用于存储一些比较重要的信息

    元组在配置文件中会使用

    元祖就是一个不可变的列表

    元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

    索引
    tu = (1, "alex", True, "大黑哥", [1, 2, 3])   # 元组
    print(tu)
    print(tu[1:3])
    
    循环遍历
    # for 循环
    for i in tu:
      print(i)
    

    range

    基本定义

    range —— 范围

    Python一切皆对象

    Linux一切皆文件

    Python3 中的range是一个可迭代对象,写得是怎样的,打印的时候就是怎样

    Python2 中的range返回的是一个列表

    range 顾头不顾尾
    range(起始位置,终止位置)  --  [起始位置:终止位置]
    range(终止位置)  --  [:终止位置]
    range(起始位置,终止位置,步长)  --  [起始位置:终止位置:步长]
    
    for 和 range配合使用
    
    print(list(range(0,10,1))) #步长不写得时候默认为1  [0:10:1]
    print(list(range(10,-2,-1))) #步长不写得时候默认为1  [10:-2:-1]
    print(list(range(10))) #步长不写得时候默认为1  [:10]
    
    # 打印输出转换成列表的时候顾头不顾尾
    print((list(list(range(0,10,1)))))
    
    使用
    for i in range(100, 0, -1): print(i)
    # 当打印的只有一行代码的时候,可以放到上一行
    
    # 1-100的偶数
    for i in range(0, 101, 2):
        print(i)
    
    # 1-100里面的基数
    for i in range(1, 101, 2): print(i)
    
    # 定义一个空的列表,当flage为true的时候,往列表中添加用户输入的元素,当列表长度等于3的时候,让flage为false不再进行循环
    lst = []
    flage = True
    while flage:
        name = input("请输姓名:")
        lst.append(name)
        if len(lst) == 3:
            flage = False
    print(lst)
    
    
    lst = []
    for i in range(3):
        lst.append(input("请输入姓名:"))
    print(lst)
    

    元组和列表:支持索引,切片,步长;均可进行嵌套

    Python2中xrange 和 python3中的range 相似

  • 相关阅读:
    Ext.grid.行相关
    FORM 布局
    rs.open sql,conn,1,1全接触
    arguments.callee
    Ext.window.MessageBox xtype: messagebox ; Ext.Msg Ext.MessageBox
    Ext.grid.column
    sql
    正则
    转JS
    quickFilters
  • 原文地址:https://www.cnblogs.com/yangduoduo/p/11164091.html
Copyright © 2011-2022 走看看