第三章 列表、元组和字典 - HongDad/falcon GitHub Wiki

  • 序列与列表与元组的关系和创建
    • 序列:一中包含多项数据的数据结构,按顺序排列,可通过索引来序列成员 列表是可变的,元组是不可变的 元组和列表的关系就是不可变和可变的关系 如何区分列表和元组? A:方括号是列表,圆括号是元组 B :列表用list()创建,元组用tuple()创建 注意:创建元组时,如果只有一个元素,在后面要加上,
    • 创建列表和元组的两种方式 直接创建或者加上list(),tuple() 列表和元组可以互相转换,list(tuple())
    • 列表和元组的简单使用
    • 通过索引访问元素 前序访问正数,倒叙访问负数
    • 子序列
    • 序列运算 加法、乘法、in运算
  • 序列相关函数与封包解包
    • 最大值(max())、最小值(min())、长度(len()) 字符串之间比较时,先比较第一个字符串,若相同,再比较第二个字符串
    • 序列封包解包 序列封包:将多个值赋给一个变量时,会自动将多个值封装成元组 序列解包:序列可被直接赋值个多个变量,会自动将每一个按顺序赋值给多个变量 注意:解包时,当变量的长度小于序列的长度时,可在变量前加上*代替
  • 列表的用法及操作列表元素
    • 添加、删除、替换元素 添加 append() 会将序列当成整体加入 extends() 会将序列拆开加入 insert(“”,index) 插入到指定位置 删除 del 变量名 [索引开始,索引结束,步长] 替换 直接指定位置替换
  • 列表常用方法
  • 字典
    • 创建字典 直接创建,字典用{}表示 通过dict([("",""),("",""),("","")])创建 通过dict(''='',''='',''='')

    • 操作字典key-value 对不存在的key-value赋值,就是添加 对已存在的key-value赋值,就是修改 del 某个key,就是删除 in、not in判断是否包含key

    • 理解dict与list的关系

    • 字典的常用方法 clear() 清空 get() 根据key得到value update() 对于已有的key修改,没有的添加

                    keys、values 、items
                    pop、popitem、setdefault、fromkeys
      
    • 利用字典格式化字符串

  • 小节
  • 创建列表,使用random、numpy
  • 列表去重

#生成10个随机大写字符写入列表 import null as null

my_list = []

import random for i in range(10): n = random.randint(65,91) my_list.append(chr(n)) print(my_list)

#2 my_list = [chr(random.randint(65,91)) for i in range(10)] print(my_list)

from numpy import * for i in random.randint(65, 90, [10,1]): print(type(i)) print(my_list)

#列表去重 my_list = [random.randint(20,30) for i in range(15)] print(my_list) #普通遍历、判断 new_list = [] for y in my_list: if y not in new_list: new_list.append(y) print(new_list) #使用set集合 new_set_list = list(set(my_list)) print(new_set_list)

#使用itertools import itertools my_list.sort() new_my_list = [] key_value = itertools.groupby(my_list) for k,v in key_value: new_my_list.append(k) print(new_my_list)