tuple和list的主要区别就是tuple里的元素的是不能改变的,即tuple时immutable的

#创建tuple
>>> tupa = (12 , 'ed' , 34)
>>> tupb = 134 , 'hf', 43
>>> tupc = (12 ,)   #一个元素的时候不能不写","
>>> print tupa,tupb, tupc
(12, 'ed', 34) (134, 'hf', 43) (12,)

#访问tuple
#tupb[1:2]包括第1个但不包括第2个,Python很多地方都是这样的
>>> print tupa[0],tupb[1:2], tupc[-1] , tupb[-2]
12 ('hf',) 12 hf

#更新tuple
#tuple是immutable的,里面的值不能更改
>>> tupa[0] = 10
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

#合并tuple
>>> tupd = tupa + tupb
>>> print tupa, tupb, tupd
(12, 'ed', 34) (134, 'hf', 43) (12, 'ed', 34, 134, 'hf', 43)

#删除tuple
#tuple是immutable的,里面的值不能删除,只能使用del删除整个tuple
>>> del tupd[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion
>>> del tupd
>>> print tupd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tupd' is not defined

基本操作

#测试tuple里元素的数目
>>> len(tupa)
3

#合并tuple
>>> print tupa+tupb
(12, 'ed', 34, 134, 'hf', 43)

#重复tuple
>>> print tupa*2, tupa[0]*3, tupa[1]*4
(12, 'ed', 34, 12, 'ed', 34) 36 edededed

#元素所属
>>> 12 in tupa
True
>>> 12 in tupa, 14 in tupa
(True, False)
>>> test = 12 in tupa
>>> print test
True
>>> test = 12 in tupa, 15 in tupa
>>> print test
(True, False)

#遍历元素
>>> for x in tupa:
...     print x
...
12
ed
34

Built-in Tuple Functions

cmp()

Compares elements of both tuples.If elements are of the same type, perform the compare and return the result. If elements are different types, check to see if they are numbers.

  • If numbers, perform numeric coercion if necessary and compare.
  • If either element is a number, then the other element is "larger" (numbers are "smallest").
  • Otherwise, types are sorted alphabetically by name.

If we reached the end of one of the tuples, the longer tuple is "larger." If we exhaust both tuples and share the same data, the result is a tie, meaning that 0 is returned

Syntax&P

cmp(tuple1, tuple2)

eg

>>> cmp (tupa,tupb)
-1

len()

Returns the total length of the tuple.

Syntax&P

len(tuple)

eg

>>> len(tupa)
3

max()

Returns item from the tuple with max value.

Syntax&P

max(tuple)

eg

>>> max(tupa)
'ed'

min()

Returns item from the tuple with min value.

Syntax&P

min(tuple)

eg

>>> min(tupa)
12

tuple()

Converts a list into tuple

Syntax&P

tuple(seq)

eg

>>> lia=[12,14,'12']
>>> print tuple(lia)
(12, 14, '12')

元组tuple的更多相关文章

  1. c# 元组Tuple

    Tuple类型像一个口袋,在出门前可以把所需的任何东西一股脑地放在里面.您可以将钥匙.驾驶证.便笺簿和钢笔放在口袋里,您的口袋是存放各种东西的收集箱.C# 4.0引入的一个新特性 Tuple类型与口袋 ...

  2. Python—元组tuple

    列表的知识其实就类似于c语言中的数组,可插入.修改.list=[a,b,c,d] 而元组tuple,一旦初始化即不可修改.好处与绝对安全. 定义一个空的元组:t=() 定义只有一个元素的元组:t=(1 ...

  3. Python中的元组(tuple)、列表(list)、字典(dict)

    -------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元 ...

  4. Java元组Tuple使用实例--转载

    原文地址:http://50vip.com/35.html 一.为什么使用元组tuple? 元组和列表list一样,都可能用于数据存储,包含多个数据:但是和列表不同的是:列表只能存储相同的数据类型,而 ...

  5. Python - 元组(tuple) 详解 及 代码

    元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...

  6. 使用元组Tuple,返回多个不同类型的值

    记得我在不知道Tuple时,如果想实现调用某个函数时,返回多个值,则需要使用ref或者out了. string name = ""; int result= GetInfo(ref ...

  7. Python TypeError: not all arguments converted during string formatting ——元组tuple(a)和(a,)的区别

    今天写程序,想输出一个array的shape,原程序为: print('shape of testUImatrix:%s\nStart to make testUImatrix...'%(testui ...

  8. Python元组(tuple)

    元组(tuple)是Python中另一个重要的序列结构,与列表类型,也是由一系列按特定顺序排列的元素组成,但是他是不可变序列.在形式上元组的所有元素都放在"()"中,两个元素使用& ...

  9. Java元组Tuple介绍与使用

    一.元组介绍 仅仅一次方法调用就可以返回多个对象,你应该经常需要这样的功能吧.可以return语句只允许返回单个对(可能有人说返回一个集合就可以了,请记住,一个集合也只是一个对象而已)因此,解决办法就 ...

  10. python基础之列表list元组tuple

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...

随机推荐

  1. ❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️html,js随笔。❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

    a标签本身的文字居中. a{ display:block; text-align:center; } 设置div1在另一个div2里居中,(写了左边margin 就别写右边了不然ie6有毛病,当然本身 ...

  2. 解决 WinXP下 libcurl.dll 无法定位程序输入点GetTickCount64问题

    1. 问题描述 用 IDA 打开libcurl.dll 可以在导入表看到对 GetTickCount64的引用,在 xp 的kernel32.dll中没有 GetTickCount64, 所以会出现  ...

  3. socket.io,环境搭建 & Hello world

    原文:http://www.cnblogs.com/xiezhengcai/p/3955827.html socket.io 一个与服务器实时通信的工具,它与原生的webSocket相比,具有更可靠. ...

  4. C# Winform反序列化复杂json字符串

    最近接的私单是一个CS项目,里面所有的操作都是通过调用API接口来进行的. 接口详细说明 协议:https  请求方式:post  https://xx.xxx.net/app/clients 提交j ...

  5. jQuery自定义漂亮的下拉框插件8种效果演示

    原始的下拉框不好看这里推荐一个jQuery自定义漂亮的下拉框插件8种效果演示 在线预览 下载地址 实例代码 <!DOCTYPE html> <html lang="en&q ...

  6. 对于 Web 开发很有用的 jQuery 效果制作教程

    如果你的项目中需要响应式滑块,炫丽的图片呈现,对话框提示,轻巧动画等效果,jQuery 是完美的解决方案.凭借这个快速,易用的 JavaScript 库,可以轻松处理语言之间的交互,它给人最快速的 W ...

  7. SAP 使用较频繁的日期时间处理函数总结

    在ABAP实际开发中,经常需要用到一些日期时间处理函数,个人感觉经常使用到的函数进行一下汇总 1.  根据工厂日历 计划交货日期 和 收货处理时间 来计算 销售计划中计划完工日期,其他类似日期计算等 ...

  8. Understanding theory (1)

    Source: verysmartbrothas.com It has been confusing since my first day as a PhD student about theory ...

  9. ORA-03113解决方法

    场景: 碰到ORA-00257归档日志写满的解决方法这篇日志当中描述的归档日志写满的情况. 此时我想将数据库切换到非归档模式,参考如何启动或关闭oracle的归档(ARCHIVELOG)模式进行操作, ...

  10. laravel的一些坑

    1.laravel 本身的性能不行,对高性能服务器,需要使用lumen 2. {{$url}} 默认会执行 htmlentities ,进行转意义,如果不需要转义可直接使用 php的echo 或者 { ...