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高级编程>> ...
随机推荐
- 简单介绍托管执行和 CLI
目录 CIL 和 ILDASM 查看 myApp.dll 的 CIL 输出 使用 ILSpy 查看 myApp.dll 反编译后的代码 处理器不能直接解释程序集.程序集用的是另一种语言,即公共中间语言 ...
- c++-重载运算符(+-,++,--,+=,-=,cin,cout)
操作符重载 自定义类型需要操作符重载 运算符重载入门技术推演 友元函数和成员函数实现2元运算符重载 友元函数和成员函数实现1元运算符重载(前置++,前置--,后置++,后置--) 友元函数实现运算符重 ...
- Android App内文档展示方案整理
一.Word.Excel.PPT 展示 1. 微软Office公开Api接口 如果文档内容不是很机密或者只是需要实现预览文档的话,可以考虑使用微软的公共Api接口实现. 微软Office公开Api地址 ...
- 剑指offer-47:不用加减乘除做加法
参考:https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html <原码,反码,补码 详解> 题目描述 ...
- 形如 T(n) = a * T(n/b) + f(n) 的时间复杂度计算方法
形如 T(n) = a * T(n/b) + f(n) 的时间复杂度计算方法 有一种方法叫做主方法(Master method)是用来专门计算这种形式的时间复杂度的,方法具体如下: 下边举例进行说明: ...
- 关于java基础、多线程、JavaWeb基础、数据库、SSM、Springboot技术汇总
作者 : Stanley 罗昊 本人自行总结,纯手打,有疑问请在评论区留言 [转载请注明出处和署名,谢谢!] 一.java基础 1.多态有哪些体现形式? 重写.重载 2. Overriding的是什么 ...
- js-03-if条件判断
一.swich case判断语句eg <script> swich( exp){ case 值1: 执行的代码段: break; case 值2: 执行的代码段: break; ..... ...
- iOS中UICollectionView添加头视图
参考链接:https://www.jianshu.com/p/ef57199bf34a 找了一堆的博客,写的都少了很重要的一步. //引入头部视图 -(UICollectionReusableView ...
- Redis集群模式下的redis-py-cluster方式读写测试
与MySQL主从复制,从节点可以分担部分读压力不一样,甚至可以增加slave或者slave的slave来分担读压力,Redis集群中的从节点,默认是不分担读请求的,从节点只作为主节点的备份,仅负责故障 ...
- ElasticSearch: SearchContextMissingException[No search context found for id [173690]]
这个原因是scroll的时间设置不够久,设久一些就可以了. ----------------------------------- 原文:https://www.cnblogs.com/chenmz1 ...