当前位置: 首页 > news >正文

Python-生成元组和字典

1.生成元组

  • 元组是元素按顺序组合后的产物,元组对象的类型是tuple型

  • 含有两个元素的元组成为数据对

  • 元组可以包含任意数量和任意类型的元素,其元素总数可以为0、1、2等,并且元素的先后顺序是由意义的。另外,元组中的元素类型没有必要一致,可以多种类型组合在一起。

  • 元组是不可变类型,这一点与列表完全不同

1.1使用()生成元组

  • 以“,”作为分隔符排列元素后,可以通过表达式结合运算符()包围元素序列生成元组。与列表一样,元组的最后一个元素后可以放“,”。如果不会产生歧义,()也可以省略。这一点和列表完全不同。

示例:

# 元组的生成tuple01 = ()                    # ()
tuple02 = 1,                    # (1)
tuple03 = (1,)                  # (1)
tuple04 = 1, 2, 3               # (1, 2, 3)
tuple05 = 1, 2, 3,              # (1, 2, 3)
tuple06 = (1, 2, 3)             # (1, 2, 3)
tuple07 = (1, 2, 3, )           # (1, 2, 3)
tuple08 = 'A', 'B', 'C',        # ('A', 'B', 'C')
  • 注意:想tuple02和tuple03那样,如果元组只有一个元素,元素末尾的“,”就是必不可少的。这是因为如果省略“,”,程序会认为该变量是单一的值而不是元组。

1.2使用tuple函数生成元组

  • tuple函数是内置函数,它基于字符串和列表等各类对象来生成元组,另外,在不传递实参的情况下调用tuple()会返回空元组

  • 使用range函数生成数列(可迭代对象)后,通过tuple函数转换该数列可以轻易生成以特定范围数值为元素的元组

tuple09 = tuple()                # () 空元组
tuple10 = tuple('ABC')           # ('A', 'B', 'C') 从字符串的每个字符生成元组
tuple11 = tuple([1, 2, 3])      # (1, 2, 3) 从列表生成元组
tuple12 = tuple({1, 2, 3})      # (1, 2, 3) 从集合生成元组tuple13 = tuple(range(7))           # (0, 1, 2, 3, 4, 5, 6)
tuple14 = tuple(range(3, 8))        # (3, 4, 5, 6, 7)
tuple15 = tuple(range(3, 13, 2))    # (3, 5, 7, 9, 11)

1.3使用divmod函数生成元组

  • divmod函数是内置函数,它会生成并返回一个元组,该元组的元素是函数的第1个参数除以第2个参数后得到的商和余数

tuple16 = divmod(13, 3)             # (4, 1)  商为4,余数为1

2.生成字典

  • 字典是dict型,可拥有任意个元素。

  • 字典最突出地特征其所有元素都是键和值得数据对

2.1使用{}生成字典

  • “键:值”形式的元素之间用“,”隔开。另外,使用中空的{ }会生成空字典

dict01 = {}                  # {}  空字典
dict02 = {'China': 156, 'Japan': 392, 'France': 250}

2.2使用dict函数生成字典

  • 使用内置函数dict可以生成各种类型对象的集合。在不传递实参的情况下调用dict()会生成空字典

dict03 = dict()
print(dict03)
  • 从元组的列表生成字典,元组的第1个元素被程序解释为键,第2个元素被程序解释为值(下图a)

lst = [('China', 156), ('Japan', 392), ('France', 250)]
dict04 = dict(lst)
print(dict04)
  • 通过zip函数汇总两个列表并将其转换为字典(下图b)

key = ['China', 'Japan', 'France']
value = [156, 392, 250]
dict05 = dict(zip(key, value))
print(dict05)

http://www.lryc.cn/news/19227.html

相关文章:

  • I.MX6ULL内核开发10:设备树
  • 【大数据】记一次hadoop集群missing block问题排查和数据恢复
  • 国产音质好的蓝牙耳机有哪些?国产音质最好的耳机排行
  • CTFer成长之路之XSS的魔力
  • 行锁、表锁、主键外键、表之间的关联关系
  • JavaScript 进阶(面试必备)--charater4
  • ARM+FPGA架构开发板PCIE2SCREEN示例分析与测试-米尔MYD-JX8MMA7
  • 51单片机入门 - SDCC / Keil_C51 会让没有调用的函数参与编译吗?
  • OpenCV只含基本图像模块编译
  • Java实现阴历日历表(附带星座)
  • Python入门之最基础
  • 浏览器缓存策略
  • 高清无码的MP4如何采集?python带你保存~
  • python+pytest接口自动化(1)-接口测试基础
  • go单元测试
  • Mybatis之一级缓存二级缓存
  • 人脸考勤机项目
  • Python编程自动化办公案例(3)
  • Linux-MYSQL 登录数据库(命令行,图形化) 及 远程登录
  • electron网络环境在线/离线事件探测
  • UE 项目导航数据生成配置
  • 494.目标和
  • 滑台模组的应用有哪些?
  • CS224W课程学习笔记(四):node2vec算法原理与说明
  • 扩展lucas定理
  • 医疗影像工具LEADTOOLS 入门教程: 从 PDF 中提取附件 - 控制台 C#
  • 【LVGL】学习笔记--(1)Keil中嵌入式系统移植LVGL
  • Transformer学习笔记
  • vue-cli引入wangEditor、Element,封装可上传附件的富文本编辑器组件(附源代码直接应用,菜单可调整)
  • 移动办公时代,数智化平台如何赋能企业管理升级?