python-tuple

Python - 元组

  1. 特性

    和字符串一样,tuple一旦创建就不能改变,可以切片。

    t1=(10)
    print(type(t1)) #<class 'int'>
    t2=(10,)
    print(type(t2)) #<class 'tuple'>
    
    tt=('python',['2.6','3.7'],'it')
    print(tt[1])
    
    tt[0]='java' #error
    
    tt[1][0]='2.5' #不会出错,因为引用没有改变
    

    任意无符号的对象,以逗号隔开,默认为元组

    x,y=1,2
    tup3 = "a", "b", "c", "d"
    
  2. 访问

    t2=(10,20,30,40)
    print(t2[0:2])
    
  3. 修改

    修改元组是非法的,元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

  4. 删除

    del t2
    
  5. 元组运算符

    与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

    Python表达式结果 描述
    len((1, 2, 3))3计算元素个数
    (1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
    (‘Hi!’,) * 4(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)复制
    3 in (1, 2, 3)True元素是否存在
    for x in (1, 2, 3): print (x,)1 2 3迭代
  6. index() count()

    index找不到会报错,慎用,最好用in方法

  7. 和list比较

    ①、Tuple 与 list 的相同之处

    定义 tuple 与定义 list 的方式相同, 除了整个元素集是用小括号包围的而不是方括号。

    Tuple 的元素与 list 一样按定义的次序进行排序。 Tuples 的索引与 list 一样从 0 开始, 所以一个非空 tuple 的第一个元素总是 t[0]。

    负数索引与 list 一样从 tuple 的尾部开始计数。

    与 list 一样分片 (slice) 也可以使用。注意当分割一个 list 时, 会得到一个新的 list ;当分割一个 tuple 时, 会得到一个新的 tuple。

    ②、Tuple 不存在的方法

    您不能向 tuple 增加元素。Tuple 没有 append 或 extend 方法。

    您不能从 tuple 删除元素。Tuple 没有 remove 或 pop 方法。

    然而, 您可以使用 in 来查看一个元素是否存在于 tuple 中。

    ③、用 Tuple 的好处

    Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。

    如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换。

    ④、Tuple 与 list 的转换

    Tuple 可以转换成 list,反之亦然。内置的 tuple 函数接收一个 list,并返回一个有着相同元素的 tuple。而 list 函数接收一个 tuple 返回一个 list。从效果上看,tuple 冻结一个 list,而 list 解冻一个 tuple。

    list_tu=list(tu)
    list_tu[2]=90
    tu=tuple(list_tu)
    print(tu)
    

    tuple和string的相互转化

    s='hello'
    tu01=tuple(s)         #('h', 'e', 'l', 'l', 'o')
    print(''.join(tu01))  #hello
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值