Python生成元组和字典的方法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python生成元组和字典的方法

天寒心亦热   2023-03-23 我要评论

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)

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们