zoukankan      html  css  js  c++  java
  • 列表、元组

    列表

    1.列表的介绍

    它是以[ ]括起来, 每个元素间' , '隔开而且可以存放各种数据类型

    列表相比于字符串. 不仅可以存放不同的数据类型. 而且可以存放大量的数据. 32位  python可以存放: 536870912个元素, 64位可以存放: 1152921504606846975个元素.而且列表是有序的(按照你保存的顺序),有索引, 可以切片方便取值.

    2.列表的切片和索引

    列表和字符串一样. 也有索引和切片. 只不过切出来的内容是列表
    索引的下标从0开始
    [起始位置:结束位置:步长]

    3.列表的增删改查

    1.增, 注意, list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进行了操作

    append,insert,extend

    lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"]
    
    # 在屁股后面添加
    lst.append("黄宏") # 在原有的基础上进行的操作
    # 在xxx位置插入xxxx内容
    lst.insert(1,"王力宏") # 在1的位置插⼊王力宏. 原来的元素向后移动⼀位
    lst.extend(["", "123", ""]) # 迭代添加
    print(lst)

    2.删

     pop, remove, clear, del

    # 删除
    data = lst.pop(2) # 返回被删除的数据
    print(data)
    print(lst)
    
    lst.remove("赵四") # 删除元素.
    lst.remove("刘能") # 如果不存在会报错
    
    # 切片删除
    del lst[1:3]
    
    # 清空
    lst.clear()
    print(lst)

    3.改

     索引切片修改

    lst = ["王者农药", "魔兽世界", "DNF", "逆水寒", "反恐精英"]
    lst[0] = "扫雷"
    print(lst)
    lst[3] = "吃鸡"
    
    lst[1:3] = ["跑跑卡丁车"]  # 先删除后添加
    lst[1::2] = ["QQ华夏","QQ三国"] # 切片修改的时候. 如果步长不是1. 注意元素的个数
    print(lst)

    4.查

    列表是一个可迭代对象, 所以可以进行for循环

    for el in lst:
        print(el)

    4.其他操作

    1. sort() 排序 reverse=True降序
    2. reverse() 翻转
    3. len() 求长度

    lst = [1,5,3,4,3,2,44,3,2,22]
    lst.sort(reverse=True) # 排序. 默认升序, reverse=True 降序
    print(lst)
    
    lst = ['晓雪',"小茹", "小花","晓梅"]
    lst.reverse() # 翻转
    print(lst)
    
    print(len(lst))

    5.嵌套

    采用降维操作.一层一层的看就好.

    lst = ["alex", "gay","wusir",["范冰冰","李冰冰",[1, "火锅", "ritian", "凤爪"],"王冰冰"]]
    # print(lst[3][2][1]) # 火锅
    lst[3][2][2] = lst[3][2][2].upper()
    print(lst)
    
    lst[3][2][0] = lst[3][2][0] + 99
    print(lst)

    元组

    元组: 俗称不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之一, 用小括号括起来, 里面可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.

    使用()表示元组
    如果元祖中只有一个元素(元素, )
    空元组: tuple()
    元祖是一个可迭代对象, 可以使用for循环

    tu = (3, ) # 元组中如果只有一个元素. 需要在括号里写一个,
    tu = tuple() # 空元组
    print(type(tu))
    
    tu = ("人民币", "美元", "英镑", "欧元")
    tu.append("哈哈")
    tu[0] = "日元" # 不予许修改
    del tu[2] # 删除也不行
    
    print(tu[2]) # 索引可以用
    print(tu[::2])
    
    for el in tu:
        print(el)
    
    # 元组的第一层是不能进行赋值的. 内部元素是没有要求
    tu = (1, "哈喽", "how are you?", "alex", ["alex"])
    tu[3].upper()
    print(tu)

    range()

    range可以帮我们获取到一组数据. 通过for循环能够获取到这些数据.

    # range()是一个可迭代对象
    # 1. range(n)  0 -> n-1
    for i in range(10):
        print(i)
    # 2. range(m,n) m -> n-1
    for i in range(1,10):
        print(i)
    # 3. range(m,n,q) m -> n-1 每q个取一个
    for i in range(1,10,3):
        print(i)
    
    for i in range(100, 90, -1):
        print(i)
    #       0        1      2         3            4        5
    lst = ["砂锅", "馒头", "盖浇饭", "刀削面", "大麻花", "大煎饼"]
    # 获取到列表的索引. 拿到索引之后. 可以拿到元素
    for i in range(len(lst)):
        print(i)    # i就是lst的索引
        print(lst[i])
  • 相关阅读:
    Splay板子
    HZOI帝国2019欢乐时刻
    数据分析体系 — 用户粘性的两个计算指标(DAU/MAU和月人均活跃天数)
    mysql—MySQL数据库中10位时间戳转换为标准时间后,如何对标准时间进行加减X天处理
    每日一题力扣575 分糖果
    每日一题力扣455 小饼干和孩子
    每日一题力扣561
    每日一题力扣121 最佳买股票
    每日一题力扣605 种花问题
    每日一题力扣605 种花问题
  • 原文地址:https://www.cnblogs.com/zhao-ting/p/9397407.html
Copyright © 2011-2022 走看看