zoukankan      html  css  js  c++  java
  • 元组和字典

    一.元组

    元组的定义:

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

    #print((1+3)*5)
    # print((3))
    # 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)

    元组也有count(),index(),len()等方法,可以自己测试使用

    增加一个知识点range

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

    for num in range(10):
    print(num)#1,2,3,4,5,6,7,8,9
    for num in range(1, 10, 2):
    print(num)#1,3,5,7,9
    for num in range(10, 1, -2): # 反着来, 和切⽚片⼀一样
    print(num)#10,8,6,4,2

    二.字典

      字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

      字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    # dic['li'] = ["a","b","c"]
    # print(dic) # setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。 # dic.setdefault('k','v') # print(dic) # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'} # dic.setdefault('k','v1') # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'} # print(dic)

    字典的增

    删 

    # dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值
    # print(dic_pop)
    # del dic["name"]  # 没有返回值。
    # print(dic)
    
    # dic_pop1 = dic.popitem()  # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回
    # print(dic_pop1)  # ('name','jin')
    
    # dic_clear = dic.clear()  # 清空字典
    # print(dic,dic_clear)  # {} None
    
    字典的删

    # dic = {"name":"jin","age":18,"sex":"male"}
    # dic2 = {"name":"alex","weight":75}
    # dic2.update(dic)  # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
    # print(dic2)

    # value1 = dic["name"]  # 没有会报错
    # print(value1)
    #
    # value2 = dic.get("djffdsafg","默认返回值")  # 没有可以返回设定的返回值
    # print(value2)

    其他操作

    # item = dic.items()
    # print(item,type(item))  # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)]) <class 'dict_items'>
    # 这个类型就是dict_items类型,可迭代的
    
    # keys = dic.keys()
    # print(keys,type(keys))  # dict_keys(['sex', 'age', 'name']) <class 'dict_keys'>
    
    # values = dic.values()
    # print(values,type(values))  # dict_values(['male', 18, 'jin']) <class 'dict_values'> 同上

    字典的循环

    # dic = {"name":"jin","age":18,"sex":"male"}
    # for key in dic:
    #     print(key)
    # for item in dic.items():
    #     print(item)
    # for key,value in dic.items():
    #     print(key,value)

    来!上图安排!

     提起字典还有一点不得不说

      解构(解包)

        # a,b = '12'   #将后边解构打开按位置赋值给变量 支持  字符串 列表 元组
        # print(a)
        # print(b)
        # dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
        # for a,b in dic.items():
        #     print(a)
        #     print(b)

    三.字典的嵌套

    ic = {'name':'汪峰','age':43,'wife':
        {'name':'国际章', 'age':39,'salary':100000}
           'baby':[ {'name':'熊大','age':18}, {'name':'熊二','age':15}, ]}
    
    dic['baby'][0]['age'] = 19
    输出结果:
    是可以将18改为19的
  • 相关阅读:
    欧拉图
    hdu2544 迪杰斯特拉题目优化
    迪杰斯特拉--数组模拟邻接表优化
    快速幂
    四叉树 bnuoj
    逆康拓展开展开
    全排列 STL
    魔板拼图
    「luogu4366」最短路
    「国家集训队」稳定婚姻
  • 原文地址:https://www.cnblogs.com/RootEvils/p/9399871.html
Copyright © 2011-2022 走看看