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

     
    元祖的定义
    Tuple 元祖与列表类似,不同之处在于元祖中 元素不能修改
    • 元祖表示多个元素的序列
    • 元祖在python中,有特定的应用场景
    元祖用于存储 一串信息,数据之间用逗号分隔
    元祖用 ( ) 定义,与列表不一样,列表用方括号
    元祖的索引也是从 0 开始
    如:info_tuple=("张三",123,"abc")
     
    创建空元祖: tuple=( )
    元祖中只包含一个元素时,需要在元素后面添加逗号,如:tup1 = (50,)
    tup1 = (50,) 与 tup1 = (50)
    使用type(tup1),前者显示Tuple,后者显示int
     
    元祖的常用操作
    元祖和列表的使用很相似
     
    元祖的循环遍历
    与列表语法一致
    但在实际的开发需求中,遍历元祖的需求并不多,因为元祖中存储的数据类型可能不一致,除非能够确认元祖中的数据类型
     
    格式化字符串
    实际中更多的应用场景
    1)函数的参数和返回值,一个函数可以接收任意多个参数,或者一次返回多个参数
    2)格式字符串,格式字符串后面的( ),本质上就是一个元祖
    3)让列表中的数据不被修改,就可以使用元祖,以保护数据的安全
    针对2举例:
    tup1 = ("张三", 18, 1.75)
     
    print("%s 的年龄是 %d 身高是 %.2f" % tup1)
    # 同时也可以将该字符串复制给一个变量进行输出
    info_str = "%s 的年龄是 %d 身高是 %.2f" % tup1
    print(info_str)
    输出的结果均是:张三 的年龄是 18 身高是 1.75
     
    元祖和列表的转换
    num_list = [1, 2, 3, 4, 5]
    num_tuple = tuple(num_list) # 格式:tuple(list) 将列表转换成元祖
    print(num_tuple)
     
    num_list2 = list(num_tuple)
    print(num_list2)
     
    字典的定义
    字典(dictionary)
    1)字典可以用来存储读个数据(通常是用来存储描述一个物体的相关信息)
    2)和列表的区别
    • 列表是有序的对象集合
    • 字典是无序的对象集合(使用print函数输出时,通常输出的顺序和定义的顺序会不一致)
    3)字典用 { } 定义
    4)字典用键值对存储数据,键值对之间用逗号分隔,类似java的map
    • 键 key 是索引
    • 值 value 是数据
    • 键和值之间使用 : 分隔
    • 键必须是唯一的
    • 值可以取任何数据类型,但 键 只能使用 字符串,数字或元祖
     
    字典的常用操作
    xiaoming = {"name": "小明", "age": 18, "leight": 1.75, "weight": 125}
     
    print(len(xiaoming)) # 获取字典的键值对数量
    print(xiaoming.values())
    print(xiaoming.keys())
     
    print(xiaoming["name"]) # 取key的value值,与列表元祖不同的是列表取的是索引
    # 增加和修改,如果key存在则修改value值,如果key值不存在,则增加key-value
    xiaoming["name"] = "小小明"
    xiaoming["sex"] = "Man"
    xiaoming.pop("sex") # 删除key为sex,value为Man这项,如果执行的key不存在程序报错
     
    # 合并字典,将字典xiaoming_dict合并到字段xiaoming中,如果key值存在则覆盖
    xiaoming_dict = {"age": "20"}
    xiaoming.update ( xiaoming_dict )
     
    xiaoming_dict.clear() # 清空字典
    print(xiaoming)
     
     
    字典的遍历
    格式:
    for 循环体内部使用的key的变量 in 字典:
     
    for k in xiaoming:
    print ( "%s:%s" % ( k,xiaoming[k]))
     
    字典和列表组合的应用场景
    将多个字典放在一个列表中,在进行遍历,在循环体内部针对没一个字典进行相同的处理
    card_list = [{
    "name": "张三",
    "qq": "123456",
    }, {"name": "李四", "qq": "654321", "phone": "13512345678"}]
     
    for card_test in card_list:
    print(card_test)
     
    输出结果:
    {'name': '张三', 'qq': '123456'}
    {'name': '李四', 'qq': '654321', 'phone': '13512345678'}
     
     
     
     

  • 相关阅读:
    基于深度学习的单目图像深度估计
    OpenCV探索之路(二十三):特征检测和特征匹配方法汇总
    TensorFlow练习24: GANs-生成对抗网络 (生成明星脸)
    深度估计&平面检测小结
    论文翻译——Rapid 2D-to-3D conversion——快速2D到3D转换
    Opencv改变图像亮度和对比度以及优化
    如何将OpenCV中的Mat类绑定为OpenGL中的纹理
    Eclipse控制台中文乱码
    给java中的System.getProperty添加新的key value对
    中文简体windows CMD显示中文乱码解决方案
  • 原文地址:https://www.cnblogs.com/wysk/p/11297115.html
Copyright © 2011-2022 走看看