本文小编为大家详细介绍“Python如何生成元组和字典”,内容详细,步骤清晰,细节处理妥当,希望这篇“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)