zoukankan      html  css  js  c++  java
  • 004 list、tuple、range

    一、列表(list)
    1、介绍
    * 能装对象的对象(类似于书包),有顺序(按照我们添加的顺序)
    * 用[] 表示,可以放任意数据,每个元素用逗号( ,)隔开
    * 同样用索引和切片
    # 索引
    lst[0] # 获取第一个元素
    可以修改,lst[3] = "一个人"
    # 切片
    lst[0: 3] # 切片0到2,步长默认为1
    lst[2: : -1] # 倒着切片,用步长为-1控制
    2、列表的增删改查
    1、增加, 因为list可变所以直接在原来对象上操作
    lst = [11, 22, 33,]
    lst.append("wusir") # 将"wusir"添加到list的末尾
    lst.insert[1, "刘德华") # 指定位置插入元素,原来的元素向后移一位
    lst.extend(可迭代对象) # 迭代添加,在原list末尾迭代添加
    2、删除
    lst.pop() # 默认删除最后一个
    lst.pop(2) # 指定删除2号元素
    lst.remove('捅破天') # 删除指定元素, 如果是不存在的元素会报错
    lst.clear() # 清空list
    del lst[1: 3] # 切片删除
    3、修改
    lst[1] = "太污" # 把1号元素修改成太污
    lst[1: 4: 3] = ["马虎疼", "欧哈依"] # 切片修改也行,如果步长不是1,要注意,元素个数
    lst[1: 4] = ["一天天"] # 切片如果没有步长或步长为1,则不用关心个数
    4、查询, 列表是一个可以迭代对象,所以可以进行for循环
    for e2 in lst:
    print(e2) # 输出每一个元素
    5、其他操作
    1、查询出现次数 count
    c = lst.count("太白") # 查询太白出现的次数
    2、排序 sort
    lst.sort() # 排序,默认升序
    lst.sort(reverse = True) # 降序
    3、翻转元素顺序(倒序) reverse
    lst.reverse() # 将[1, 3, 2, 4] --> [4, 2, 3, 1]
    4、列表长度
    len(lst) # 计算列表的长度
    5、查找索引 index
    lst.index(元素) # 通过元素查找索引
    3、列表的嵌套
    采用降维操作,一层一层的看就好
    lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王林"]]
    print(lst[2]) # 找到"wusir"
    print(lst[1: 3] # 找到太白和wusir
    print(lst[1][1]) # 打印太白的白字
    # 将 wusir拿到,然后首字母大写,再输入列表
    二、元组和元组嵌套 tuple
    tuple: 只读列表
    由 () 组成 特点: 不可变,
    如果只有一个元素,末尾要加 , 不然不是tuple
    不可变:指的是元组内部第一层元素的内存地址不可变

    # 索引
    print(tu[2])
    # 切片
    print(tu[2: 5]) # 切片后还是元组
    # for 循环遍历元组
    for el in tu:
    print(el)
    # 尝试修改元组
    tu = ("水牛", "哈哈哈", [], "呵呵")
    # 错误的修改 tu[1] = '马蜂' #报错 TypeError: 'tuple' object does not support item assignment
    tu[2].append("麻将台") # 不可变是指,子元素不可变,子元素内部的子元素是可以变得,这个取决于元素是否为可变对象
    三、 range
    for num in range(10):
    print(num)
    for num in range(1, 10, 2):
    print(num)
    for num in range(10, 1, -2): # 反着来, 和切片一样 10, 9,
    print(num)
  • 相关阅读:
    ArcEngine 地图与布局的联动
    ArcGIS Server安装篇
    AO+C#设置栅格图层基高 制作三维
    ArcGIS 10研究(一) 之 Desktop总体介绍 转载
    linux centos7 增加硬盘
    linux CentOS7安装oracle12c
    java中关于Socket类通信的基本测试程序
    Ubuntu 的中国梦
    我们无需“开始”菜单
    数据库战略高度解析 之系列说明
  • 原文地址:https://www.cnblogs.com/yipianshuying/p/9839136.html
Copyright © 2011-2022 走看看