『Python 自学笔记』重新认识元组

文章目录

  • 我的编程之路
  • 元组不可修改
  • 元组赋值
  • 用元组做返回值
  • 列表和元组
  • 字典与元组
  • 元组术语

我的编程之路

从玩耍Excel表格到MySQL数据仓库,之后进入数据分析的天坑,然后再到大数据平台HIVE、Hbase。接着Django Web全栈开发。在走过这一圈之后,很多的内容学习都是碎片化的,在未来一段时间找几本书籍系统的学习一下,顺便做个笔记给后来的学生。

tuple 是python一种比较常见的内置数据类型。

元组不可修改

和字典列表相比,元素不可修改。

元组的基本构成

>>> t = ('a', 'b', 'c', 'd', 'e')

单元素元组构成

>>> t1 = 'a',
>>> type(t1)
<class 'tuple'>

元素的操作方式和列表操作大致相同。

如果想修改元组中的某个元素是不可操作的,但是可以进行替换操作。

>>> t = ('a', 'b', 'c', 'd', 'e')
>>> t[0] = 'A'
TypeError: object doesn't support item assignment

>>> t = ('A',) + t[1:]
>>> t
('A', 'b', 'c', 'd', 'e')

元组赋值

和变量赋值是一样的要保证数量一致。

>>> a, b = b, a

用元组做返回值

>>> t = divmod(7, 3)
>>> t
(2, 1)

# 或者分开存储
>>> quot, rem = divmod(7, 3)
>>> quot
2
>>> rem
1

列表和元组

列表和元素的互相转换使用到zip生成字典,然后通过for循环遍历。

>>> s = 'abc'
>>> t = [0, 1, 2]
>>> zip(s, t)
<zip object at 0x7f7d0a9e7c48>

>>> for pair in zip(s, t): ...
print(pair) ...
('a', 0) ('b', 1) ('c', 2)

也可以直接使用列表的方式操作。

>>> list(zip('Anne', 'Elk'))
[('A', 'E'), ('n', 'l'), ('n', 'k')]

t = [('a', 0), ('b', 1), ('c', 2)]
for letter, number in t:
    print(number, letter)
0 a 1 b 2 c

字典与元组

使用字典的item方法可以进行操作。

>>> t = [('a', 0), ('c', 2), ('b', 1)]
>>> d = dict(t)
>>> d
{
     'a': 0, 'c': 2, 'b': 1}

>>> d = dict(zip('abc', range(3)))
>>> d
{
     'a': 0, 'c': 2, 'b': 1}

元组术语

  • 元组(tuple):一列元素组成的不可修改的序列。
  • 元组赋值(tuple assignment):一种赋值语句,等号右侧用一个序列,左侧为一个变量构成的元组。右侧的内容先进行运算,然后这些元素会赋值给左侧的变量。
  • 收集(gather):变量长度可变元组添加元素的运算。
  • 分散(scatter):将一个序列拆分成一系列参数组成的列表的运算。
  • 拉链对象(zip object):调用内置函数 zip 得到的返回结果;一个遍历元组序列的对象。
  • 迭代器(iterator):迭代一个序列的对象,这种序列不能提供列表的运算和方法。
  • 数据结构(data structure):一些有关系数据的集合体,通常是列表、字典或者元组等形式。
  • 结构错误(shape error):由于一个值有错误的结构而导致的错误;比如错误的类型或者大小。

你可能感兴趣的:(python,开发语言,后端,自学笔记)