Python学习Day06

DAY06

列表

列表是python基础数据类型之一,其他编程语言中也有类似。

  • a_list = [1, 2, 3, 4, 5, "666", True]
    print(a_list)
    
    a_list.append("123")  # 体验可变   追加
    print(a_list)
    a_list.insert(1, "321")  # 插入(放入1位置,插入"321")
    print(a_list)
    a_list.extend("zsj")  # 迭代添加 会分开加入
    print(a_list)
    
  • b_list = [1, 2, 3, 4, 5, "666"]
    print(b_list)
    
    b_list.pop()  # 弹出    弹出列表最后一个
    print(b_list)
    b_list.pop(2)  # 移除2号位置 是index索引,并非移除int类型的2
    print(b_list)
    b_list.remove(2)  # 移除 通过元素名进行删除 重复数据就删除一个
    print(b_list)
    # del b_list 直接移除了b_list这个列表
    # print(b_list)
    del b_list[0]  # 通过索引删除,也可以通过切片和步长删除
    print(b_list)
    b_list.clear()  # 清空
    print(b_list)
    
  • c_list = ["sadsa", "564", 46, True]
    c_list[0] = 8  # 同样可以使用切片和步长修改,但步长修改不能超字符,切片加步长(不为1时)修改必须一一对应
    print(c_list)
    print(c_list[0:2])
    c_list[0:2] = "666"  # 详情看这
    print(c_list)
    c_list[0:2] = ["哈撒给"]
    print(c_list)
    # 数字不可迭代
    
  • 索引和for循环

  • 操作

    d_list = [2, 56, 23, 45, 15, 952, 155, 15, 332]
    d_list.sort()  # 排序 默认为升序
    print(d_list)
    d_list.reverse()  # 反转
    print(d_list)
    d_list.sort(reverse=True)
    print(d_list)
    # 假如是字符串会按照ASCII码来拍
    print(d_list.count(2))
    print(d_list.index(15))
    
  • 嵌套

    aj = [["money", "card", "jio"]]
    print(aj)
    aj = [["money", "card", "jio"], ["qq", "wx", "dd"],
          ["口红", [66, 77, 88], "潮牌"], ["裙子", "裤子", "比基尼", "墨镜"]]
    print(aj[-1])
    print(aj[-1][-1])
    print(aj[-2][-2][-1])
    

元组

  • print(tuple.index(a_tu, 2))
    print(tuple.count(a_tu, 3))
    
  • 嵌套

    b_tu = (1, 2, 3, 4, [1, 2, 3], (1, 2, 4, 566))
    print(b_tu[-1][-1])
    # 判断类型
    c_tu = (100)
    d_tu = ("100",)
    e_tu = ()
    print(type(c_tu), type(d_tu), type(e_tu))
    

range

  • 起始位置,终止位置,步长

    r1 = list(range(1, 5))  # [1:5]
    print(r1)
    r2 = range(1, 5, 2)  # [1:5:2]
    print(list(r2))
    r3 = range(10)  # 默认从0开始
    print(list(r3))
    
    # 输入50到1中所有奇数
    for i in range(49, 0, -2):
        print(i)
    # python3中欧给打印的就是range本身
    # python2中打印的range获取的是列表
    

字典

  • 定义

    # 字典,键值对数据;有键一定要有值。dict,无序
    # () tuple   ;[] list    ;{} dict;
    a_dic = {"key": "value", 1: 10, False: True, (21, 3): 123}
    # 可以hash的数据类型不可变,不可hash的数据类型是可变的
    h = hash((1, 2, 3))
    print(a_dic)
    # 字典的键是不可变的数据类型;字典的值是任意的
    # 字典的查询速度比列表快,存储的数量比列表大
    # 字典是可变的,字典也是一个容器
    b_dic = {
        "a": None,
        "b": "MI",
        "c": "iphone",
        "d": "oppo",
        "e": "vivo",
        "g": "huawei",
        1:10
    }
    print(b_dic["c"])  # 字典[]
    print(b_dic[1])
    
  • b_dic["h"] = "realme"  # 当这个键不在字典中是添加,存在时是修改
    print(b_dic)
    b_dic.setdefault("i", "redmi")  # 先查看这个键在字典中存不存哎,如果不存在就添加,否则就不添加
    print(b_dic)
    lst = b_dic.setdefault("z", [])
    print(lst.append(10))
    print(b_dic)
    
  • s0 = b_dic.pop("a")
    print(b_dic)
    print(s0)
    s1 = b_dic.popitem()  # 随机,python3默认删除最后一个
    print(b_dic)
    print(s1)
    # b_dic.clear()  # 清空
    # print(b_dic)
    # del b_dic  # 删除字典
    # del b_dic["c"] 删除键
    
  • b_dic.update({"y": None, 1: 20})  # 合并
    print(b_dic)
    
  • print(b_dic["c"])
    print(b_dic.get("c", "未找到"))  # 推荐
    
    e_dic = {}
    e_list = [1, 1, 51, 516, 12, 156, 15, 6, 15, 561]
    for i in e_list:
        print(i, "show", e_list.count(i))
        e_dic[i] = e_list.count(i)
    print(e_dic)
    
    d_dic = {
        "010": "a",
        "020": "b",
        "030": "c"
    }
    g_dic = {}
    f_list = ["010--66", "010--77", "020--55", "030--88"]
    # for i in f_list:
    #     listt = i[0:3]
    #     print(d_dic.get(listt))
    #     j = 0
    #     while j < len(f_list):
    #         g_dic[d_dic.get(listt)] = f_list[j]
    #         print(g_dic)
    #         j += 1
    
    # print(d_dic.get("010"))
    
  • 其他操作

    # 获取字典中所有的键
    print(b_dic.keys())
    # 获取字典中所有的值
    print(b_dic.values())
    # 获取所有的键值对
    print(b_dic.items())
    for i, j in b_dic.items():
        print(i, j)
    
  • 数据类型嵌套

    z_dic = {
        101: {
          1: {"a": [0, 1]},
            2: {"b": 2},
            3: {"c": 3}
        },
        102: {
            1: {"d": 4},
            2: {"e": 5}
        },
        103: {
            1: {"f": 6}
        }
    }
    print(z_dic[102][1]["d"])
    

    凸头老师进阶版本:

    寻找其中的周芷若

    # print(dic[103][1]["倚天屠龙记"][0]["张无忌"][2])
    
posted @ 2020-11-12 17:50  TheBugSir  阅读(44)  评论(0)    收藏  举报