Python 元組 Tuple
元組 Tuple 宣告
元組是用逗號分隔的一列值:
>>> t = 'a',1,'b',2,'c',3
>>> t
('a', 1, 'b', 2, 'c', 3)
>>> t = ('a',1,'b',2,'c',3)
>>> t
('a', 1, 'b', 2, 'c', 3)
1. 元組是不可變的
>>> t[0] = 'y'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
但可將一個元組替換另一個元組,例如:
>>> t = 'a',1,'b',2,'c',3
>>> t
('a', 1, 'b', 2, 'c', 3)
>>> t = ('x',) + t[1:]
>>> t
('x', 1, 'b', 2, 'c', 3)
>>>
2. 元組賦值
>>> X = 2
>>> Y = 3
>>> X,Y = Y,X
>>> X
3
>>> Y
2
這樣的寫法很簡潔漂亮,而不是一般採用下列的寫法:
Z = X
X = Y
Y = Z
另一個例子是將一個字串拆解,分別賦值:
>>> email_address = 'john@company.com'
>>> name,company = email_address.split('@')
>>> name
'john'
>>> company
'company.com'
3. 元組做為返回値
>>> t = divmod(10,3)
>>> t
(3, 1)
>>> quot,rem = divmod(10,3)
>>> quot
3
>>> rem
1
4. 可變長度參數元組
>>> def print_all(*args):
... print(args)
...
>>> print_all(1,2,3)
(1, 2, 3)
>>> print_all(1,2,3,4,5)
(1, 2, 3, 4, 5)
>>> t = (10, 3)
>>> divmod(*t)
(3, 1)
5. 列表與元組
>>> x = 'abc'
>>> y = '123'
>>> zip(x,y)
<zip object at 0x00000000021B10C8>
>>> id(x)
30795008
>>> id(y)
35332200
>>> for c in zip(x,y):
... print(c)
...
('a', '1')
('b', '2')
('c', '3')
>>> list(zip(x,y))
[('a', '1'), ('b', '2'), ('c', '3')]
>>> t = [('a',1),('b',2),('c',3)]
>>> for letter,number in t:
... print(letter,number)
...
a 1
b 2
c 3
6. 字典與元組
元組為一個列表,轉化為字典:
>>> t = [('a',1),('b',2),('c',3)]
>>> d = dict(t)
>>> d
{'a': 1, 'b': 2, 'c': 3}
將字典以 items 方法,轉化為元組:
>>> m = d.items()
>>> m
dict_items([('a', 1), ('b', 2), ('c', 3)])
以 zip 方法,快速創建字典:
>>> n = dict(zip('abc',range(3)))
>>> n
{'a': 0, 'b': 1, 'c': 2}
/end
Python 元組 Tuple的更多相关文章
- python元祖(tuple)
# 列表:有序,元素可以被修改 # 列表 # list # li = [111,22,33,44] # 元组:元素不可被修改,不能被增加或者删除 # ps: # tuple # tu = (11,22 ...
- Python 基礎 - 元組與簡易購物車實做
tuple(元組) 其實跟列表差不多,也是存一組數,只不過是它一旦建立了,就不能修改了,只能做 切片 跟 查詢,所以只叫 只讀列表 語法: name = ("Rogers", &q ...
- Python中的元祖Tuple
Python中的元祖和list基本上一样 tuple = () # 表示一个空的元祖 tuple = (50, ) # 元组中只有一个元素的时候,必须在后面加上逗号 无关闭分隔符 任意无符号的对象,以 ...
- 『Python基础-9』元祖 (tuple)
『Python基础-9』元祖 (tuple) 目录: 元祖的基本概念 创建元祖 将列表转化为元组 查询元组 更新元组 删除元组 1. 元祖的基本概念 元祖可以理解为,不可变的列表 元祖使用小括号括起所 ...
- python基本数据类型之元祖tuple
元祖tuple 是对列表的二次加工,书写格式为括号(),里面放元素 元组的一级元素不可被修改,且不能被增加和删除 一般写元组的时候,推荐在最后加入逗号, 能加则加 创建元组 ? 1 tu = (11 ...
- python元类:type和metaclass
python元类:type和metaclass python中一切皆对象,所以类本身也是对象.类有创建对象的能力,那谁来创建类的呢?答案是type. 1.用tpye函数创建一个类 class A(ob ...
- Python 元类 - Metaclasses
Python 元类 - Metaclasses 默认情况下儿, classes 是有 type() 构造的. 类的结构体在一个新的 namespace 被执行, 类的名字 class name 绑定( ...
- Python之创建tuple和“可变”的tuple
Python之创建tuple tuple是另一种有序的列表,中文翻译为" 元组 ".tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了. 同样是表示班里 ...
- Python元编程
简单定义"元编程是一种编写计算机程序的技术,这些程序可以将自己看做数据,因此你可以在运行时对它进行内审.生成和/或修改",本博参考<<Python高级编程>> ...
随机推荐
- 1.Python 简单输入输出
1 读取:input() 1.1 简单打印内容 In [1]: input('你好,请输入你的名字:') 你好,请输入你的名字:小明 1.2 保存输入内容 In [2]: CN_Name = inpu ...
- Visual Studio 2019使用码云设置过滤忽略的文件或文件夹(ignore file)
Visual Studio 2019使用码云的时候,会遇到 “Git failed with a fatal error.error: open(".vs/{{项目名称}}/Server/s ...
- 2019icpc上海站 打星体验,首次感想 D K代码
暑期训练以来首次参赛,体验还行吧,过程有些战战兢兢. 刚开始以为是正式队,热身赛只过了一题,有很大的压力,正赛前一天晚上才知道是打星队,有点如释重负的感觉.也幸好都是打星队,不然真的有可能打铁,虽然实 ...
- linux服务器JDK1.8环境变量配置
1. 场景描述 软件老王年龄大了,新机器(Linxu)下,配置JDK环境变量老记不住,记录下,有需要的朋友参考下. 2. 解决方案 2.1 上传tar包 ftp上传tar包: jdk-8u181-li ...
- mysql之行转列与列转行
mysql之行转列与列转行是数据查询的常见操作,以更好的来展示数据,下面就详细说说怎么实现. 行转列 行转列的话,就是将一条一条的行数据记录转换为一条列数据展示,一般来说是根据某一列来做汇总数据的操作 ...
- 【系统之音】SystemUI篇(二)SysytemUI功能一览--草稿
Main Menu > Navigate > Type Hierarchy(Ctrl + H)
- pillow模块Image.crop()函数切割图片方法,参数说明
使用Image.crop()方法对图片进行切割. 参数: Image.crop(left, up, right, below) left:与左边界的距离 up:与上边界的距离 right:还是与左边界 ...
- 简洁优雅的Python教你如何在工作中“偷懒”
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: A字头 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- Flask 路由,配置,蓝图
路由 # -*- coding: utf-8 -*- from flask import Flask, url_for app = Flask(__name__) ...
- Flask 教程 第十三章:国际化和本地化
本文翻译自The Flask Mega-Tutorial Part XIII: I18n and L10n 这是Flask Mega-Tutorial系列的第十三部分,我将告诉你如何扩展Microbl ...