• 4-列表使用及元组


    列表的操作

    • 遍历列表
      • for n in list1
      • for i, v in enumerate(list1)
      • 从后向前遍历
        • print(list(range(10, 1, -1)))
        • for i in range(len(ages)-1, -1, -1):
          • print(ages[i])
    • 切片/截取
      • print(ages[:])
      • print(ages[2:])
      • print(ages[::-1])
        • 相当于倒序
    • 合并
      • list1 + list2
    • 重复
    • 判断成员
      • print(n in list2)

    列表的增删改查

      • append() :在列表的末尾追加元素
      • extend() :将另一个列表中的元素追加到当前列表
        • ages = [2, 3, 4, 5]
        • ages.extend([6, 7, 8])
      • insert(index, element) :在指定的下标位置插入一个元素
        • ages = [2, 3, 4, 5]
        • ages.insert(2, 100)
      • pop(index) :删除指定下标位置的元素,并返回该元素
      • remove() :删除指定的元素
      • clear() :清空列表
      • del
        • ages = [1, 34, 667, 86]
        • del ages[:]
      • ages = [1, 34, 667, 86]
      • ages[0] = 100
      • print(ages[0])

    列表的高级方法

    • 索引
      • index(element, start,stop) :查找指定元素在列表中第一次出现的下标位置
      • print(list1.index(3, 3, 6))
    • 内置函数
      • sum
      • max
      • min
    • 排序
      • 升序
        • sort() :升序:从小到大
          • list3.sort()
      • 降序
        • list3.sort(reverse=True)
      • sorted :排序,但是不会改变原列表,得到一个新列表
        • list5 = sorted(list3, reverse=True)
      • 倒序/逆序/反转
        • list3 = [3, 1, 5, 10, 34]
          • list3.reverse()
        • reversed() :倒叙,但是不会改变原列表
          • list4 = reversed(list3)

    拷贝/复制

    • 可变类型和不可变类型(基本类型和引用类型)
      • 不可变类型int,float,str,tuple
      • 可变类型list,dict,set
    • 内存
      • 内存:栈区,自动释放;堆区,不会自动释放
      • 对于引用/可变类型,数据存在堆内存,栈内存存储堆内存的地址
    • 浅拷贝(只能搞定一层拷贝)
      • list5 = [1, 2, 3]
      • list6 = list5.copy()
      • list6[2] = 100
      • print(list5, list6) # [1, 2, 3] [1, 2, 100]
    • 深拷贝:不管有多少层,都可以拷贝
      • import copy
      • list5 = [1, 2, 3, [4, 5]]
      • list6 = copy.deepcopy(list5) # 深拷贝
      • list6[-1][-1] = 100
      • print(list5, list6) # [1, 2, 3, [4, 5]] [1, 2, 3, [4, 100]]
    • 二维列表

    数学函数和随机数

    • 绝对值
      • print(abs(-3)) # 绝对值,3
    • 四舍五入
      • print(round(3.4327)) # 3print(round(3.34294, 4)) # 四舍五入,保留四位小数3.3429
    • math模块
      • print(math.pow(2, 3), pow(2, 3), 2 ** 3) # 8.0 8 8 求次方
      • print(math.sqrt(4)) # 2 开平方根
      • print(math.pi) # Π
      • print(math.sin(math.pi/6)) # 正弦
    • 随机数
      • import random
      • random.choice() :在列表中随机取一个元素
      • random.randint(start, end) :取值范围[start, end]
      • random.randrange(start, end, step) :取值范围[start, end)
      • print(random.random()) # 取小数,范围[0, 1)
      • print(random.uniform(2, 5)) # 取小数,范围[2, 5)
      • random.shuffle(list1) # 乱序

    tuple

    • 元组和列表的区别

      • 和列表类似
      • 区别:①元组就是不可改变的列表. ②列表使用[],元组使用()
    • 创建元组

      • t = (1,) # 只有一个元素的元组,要加逗号
    • 元组的基本操作

      • print(t[0])= # 注意是中括号
    • 排序和反转只能用sorted, reversed

    • 元组中的列表时可以修改的

    • 列表与元组的相互转换

      • l = list(t)
    • 快速取值
      a, b, c = (1, 2, 3)

    列表的其他内置函数

    • filter过滤函数的作用是对列表进行过滤,只保留满足filter()函数指定要求的元素
      • def f(x):
        • return x % 2 != 0 and x % 3 != 0
        • list(filter(f, range(2, 25)))
    • map映射函数的作用是对列表的每一个元素映射到map()函数指定的操作
      • def cube(x):
        • return xxx
        • lsit(map(cube, range(1, 11)))
    • reduce函数是reduce(function, sequence, starting_value),它对sequence中的item顺序迭代调用function,如果有starting_value,可以作为初始值调用
      • def add(x, y):
        • return x + y
        • reduce(add, range(1, 11))

    列表推导式

    • 对于使用过滤和映射函数去生成特定要求的列表,可以使用列表推导式简化代码
      • [k*5 for k in a if k!= 3]
  • 相关阅读:
    Android开发CheckBox控件,全选,反选,取消全选
    华为OJ平台——放苹果(典型整数划分问题)
    华为OJ平台——查找组成一个偶数最接近的两个素数
    华为OJ平台——输出最小的k个数
    华为OJ平台——完美数
    华为OJ平台——杨辉三角的变形
    Inconsistant light map between PC and Mobile under Unity3D
    How to Effectively crack .JAR Files?
    OpenGL 3 and OpenGL 4 with GLSL
    Dynamic Ambient Occlusion and Indirect Lighting
  • 原文地址:https://www.cnblogs.com/lotuslaw/p/14005346.html
Copyright © 2020-2023  润新知