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)

猜你喜欢

转载自blog.csdn.net/aaaccc444/article/details/129192853
今日推荐