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高级编程>> ...
随机推荐
- leetcode菜鸡斗智斗勇系列(4)--- 单一数字的乘积和总合的减法
1.原题: https://leetcode.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer/ Given an i ...
- ReactNative: 使用网页组件WebView组件
一.简介 在移动端开发中,很多时候需要嵌入一个网页来帮助实现某一个活动,这方式大大提高了活动快速迭代的灵活性,在RN中,同样也这么处理这种情况的.其实,这种混合式开发称为Hybird APP,它们就是 ...
- 深入了解angularjs中的$digest与$apply方法,从区别聊到使用优化
壹 ❀ 引 如果有人问,在angularjs中修改模型数据为何视图会同步更新呢,我想大多数人一定会回答脏检查(Dirty Checking)相关概念.没错,在angularjs中作用域(scope) ...
- 学习DDD的初步尝试,从最基础的开始,业务介绍,划分限界上下文 ,建立模型
Conference业务简介 Conference是这样一个系统,它提供了一个在线创建会议以及预订会议座位的平台.这个系统的用户有两类: 1:客户,可以创建和管理会议. 2:会议座位预定者,可以预订会 ...
- 下拉框移动 jquery
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html& ...
- Angular-----代码风格指南!!!(很重要)
一:文件结构 1).单一规则:坚持每个文件只定义一样东西(例如服务或组件),考虑把文件大小限制在 400 行代码以内. 单组件文件非常容易阅读.维护,并能防止在版本控制系统里与团队冲突: 单组件文件可 ...
- ArcGIS API for JavaScript小白入门
简单理解就是:通过js调用arcgis相关的方法和通过html引入css等资源来展示地图,代码如下: <!DOCTYPE html> <html> <head> & ...
- Auto入门 之 常用概念
1.SEMI (Semiconductor Equipment And Materials International) 国际半导体设备与材料产业协会 2.SECS SECS协议是基于RS-232或 ...
- 好程序员web前端分享前端学习路线自学如何找到工作
好程序员web前端分享前端学习路线自学如何找到工作,自学能不能学会WEB前端并且找到WEB前端开发岗位的工作取决于自身条件,如果基础好,自律性强那么将会容易很多,还有就是自学最难克服的并不是知识点,而 ...
- java之关键字static
static简单概述 static 关键字的基本使用,它可以用来修饰的成员变量和成员方法,一旦用了static关键字修饰,那么这样的内容不再属于对象而是属于类,凡是本类的对象都共享使用同一份.我们可以 ...