《转》python学习(8)元组
转自 http://www.cnblogs.com/BeginMan/p/3156235.html
一、元组特性
1、类似列表,但不可变类型,正因如此,它可以做一个字典的key
2、当处理一组对象时,这个组默认是元组类型(老写错"元祖")
3、所有的多对象,逗号分隔的,没有明确用符号定义的这些都默认为元组类型
1 >>> 'abc',1,2,'x',True
2 ('abc', 1, 2, 'x', True)
3 >>> x,y =1,2
4 >>> x,y
5 (1, 2)
6 -----------------------------
7 def foo1():
8 return obj1,obj2,obj3
9
10
11 def foo2():
12 return [obj1,obj2,obj3]
13
14 def foo3():
15 return (obj1,obj2,obj3)
4、逗号不要少,尽量都写,即使只有一个元素
>>> type(('x'))
<type 'str'>
>>> type(('x',))
<type 'tuple'>
>>> tup = ('x')
>>> type(tup)
<type 'str'>
>>> tup = ('x',)
>>> type(tup)
<type 'tuple'>
觉得不错:hi.baidu.com/wuxinzy/item/c2c3cd428c99aa01896d10a7
1. 无法向元组添加元素。元组没有 append() 或 extend() 方法。
2. 不能从元组中删除元素。元组没有 remove() 或 pop() 方法。
3. 可以 在元组中查找元素,由于该操作不改变元组。
4. 还可以使用 in 运算符检查某元素是否存在于元组中。 那么元组有什么好处呢?• 元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么请使用元组替代列表。
• 对不需要改变的数据进行“ 写保护” 将使得代码更加安全。使用元组替代列表就像是有一条隐含的 assert 语句显示该数据是
• 一些元组可用作字典键(特别是包含字符串、数值和其它元组这样的不可变数据的元组)。列表永远不能当做字典键使用,因为列表不是不可变的。
《转》python学习(8)元组的更多相关文章
- python学习之元组与文件
元组 元组是最后一个python集合类型.元组由简单的对象构成,元组与列表非常相似,只不过元组不能在原处修改,并且通常写成圆括号,虽然元组部支持任何方法调用,但元组具有列表的大多数属性. 实际应用中的 ...
- Python学习-列表元组字典操作
一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...
- Python学习笔记——元组
1.创建一个元组并给它赋值 >>> aTuple = (123,'abc',4.56,['inner','tuple'],7-9j) >>> aTuple (123 ...
- python学习之元组
#coding:utf-8# __author__ = 'Administrator'#元组:不可变序列 #空元组mm=()print mm#只有一个值的元组mm=(1,)print mmx=1,2, ...
- python学习:元组和嵌套
tuple(元组):只是可读,不可以修改# tup1 = () #空元组# tup2 = (20,) #元组内有一个元素,需要在元素后添加逗号 a = (1,2,3,4)print(a[1])a[1] ...
- python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝
一.深浅拷贝 1. 值拷贝 ls1 = ls2 不开辟空间,指针跟着走.(直接将ls1中存放的地址拿过来,内存中不会开辟新的空间,所以你怎么变,我也跟着变.)(ls1内部的所有类型的值发生改变,l ...
- Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】
1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝
- python学习 02 元组
元组和列表除了能不能修改外 定义单一元组还需要加逗号
- python学习-18 元组
tuple 1.元组tuple类似列表,由小括号()括住,其中的元素不可被修改,不能被增加或删除. tu = (222,222123123,("小胡子",444),12341,&q ...
- python学习09元组
'''元组''''''元组Tuple:1.不可变的序列:元祖不能对元素进行变动(字符串也不可以,但是列表可以) 2.元组用小括号()表示(列表是中括号[],字符串是“”) 3.可以存储各种数据类型 4 ...
随机推荐
- 获取本地IP和mac等信息
1获取mac protected string getHostMacName() { string mac = ""; ManagementClass mc; mc = new M ...
- mysql 5.7.12----bin/mysqld --initialize --user=mysql出错
我最近在安装mysql 5.7.12,本来之前安装mysql 5.7.11时用命令 bin/mysqld --initialize --user=mysql 可以很好的初始化,但是用在5.7.12版本 ...
- System.map
System.map是一个特定内核的内核符号表.它是你当前运行的内核的System.map的链接. 内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤 ...
- Zookeeper客户端使用
参考链接: http://blog.csdn.net/jason5186/article/details/46314381 http://ifeve.com/zookeeper-path-cache/
- SQL与NoSQL的CRUD对照
SQL与NoSQL的CRUD对照 flyfish 2015-7-21 Create, Read, Update and Delete (CRUD) SQL方式 查 SELECT 列名称 FROM 表名 ...
- centos7+ docker1.12 实践部署docker及配置direct_lvm
前言 Docker现在在后端是那么的火热..尤其当笔者了解了docker是什么.能做什么之后,真的是感觉特别的exciting,便迫不及待的去实践部署一下. 但是在实际部署中,因为笔者使用的是阿里云e ...
- jQuery EasyUI教程之datagrid应用
一.利用jQuery EasyUI的DataGrid创建CRUD应用 对网页应用程序来说,正确采集和管理数据通常很有必要,DataGrid的CRUD功能允许我们创建页面来列表显示和编辑数据库记录.本教 ...
- View与Model绑定注意事项 (视图无数据显示)
Qt 中视图与模型绑定时,模型必须使用new来创建.否则刚开始初始化的时候,视图无数据显示,或者后期视图不能随着模型的改变而改变. 具体原因:我猜测是局部变量生命周期的问题.new 的变量在堆中,除非 ...
- fanqiang_bak
- zebra/quagga线程分析
/* 线程按照不同的功能进行分类.有6条双链,分别表示不同类型的线程.将要运行的时候, * 就从不同的链表中取出,添加到ready链表中,运行完成之后,将线程结构体清空放到 * unuse链表中.一般 ...