python元组

元组(tuple)

元组和列表一样但是元组无法修改,元组用小括号

一、元组类型的内置方法

元组是不可变的列表,即元组的值不可更改,因此元组一般只用于只存不取的需求。也因此元组可以被列表取代掉,所以元组相比较列表使用的很少。元组相比较列表的优点为:列表的值修改后,列表的结构将会发生改变,而元组只需要存储,因此列表在某种程度上而言需要占用更多的内存。但是目前工业上内存已经不是问题了,所以工业上元组一般不会使用。

1.用途:

  • 早期永远一般用于减小内存占用,现在毫无用处,以后只要定义列表就行了。
  • 现在多用于表示多个装备、多个爱好、多门课程,甚至是多个女朋友

2.定义:在()内可以有多个任意类型的值,逗号分隔元素

msg = ('python','thank','shanghai')
print(id(msg))
print(type(msg))
print(msg)
输出:
2853144129352
<class 'tuple'>
('python', 'thank', 'shanghai')
msg1 = ('python',)
print(id(msg1))
print(type(msg1))
print(msg1)
#输出:
2257491908488
<class 'tuple'>
('python',)


msg = ('python')## 这样写是普通包含的意思
print(id(msg))
print(type(msg))
print(msg)

#输出:
2257772165616
<class 'str'>
python

二、内置方法

2.1优先掌握

  1. 索引取值

    msg = ('python','thank','shanghai')
    print(msg[1])
    输出:
    thank
    
  2. 切片(顾头不顾尾,步长)

    msg = ('python','thank','shanghai')
    print(msg[1:2:1])
    #输出:
    ('thank',)
    
  3. 长度len

    msg = ('python','thank','shanghai')
    print(len(msg))
    #输出:
    3
    
  4. 成员运算in or not in

    msg = ('python','thank','shanghai')
    print('python' in msg)
    print('thank' not in msg)
    #输出:
    True
    False
    
  5. 循环

    msg = ('python','thank','shanghai')
    for name in msg:
        print(name)
    #输出:
    python
    thank
    shanghai
    
    
  6. 计数count

    msg = ('python','thank','shanghai','python')
    print(msg.count('python'))
    #输出:
    2
    
  7. index

    #对指定元素,求位置
    msg = ('python','thank','shanghai')
    print(msg.index('thank'))
    # 输出:
    1
    
  8. 存在一个或多个值:多个值

  9. 有序或无序:有序

  10. 可变不可变:不可变元素

三、元组和列表的区别

列表可变的原因是索引对应的值的内存地址是可改变的

元组不可变的原因是:索引对应的值的内存是不可以改变的,或者反过来说,只要有索引对应的值的内存没有改变,那么元组是始终不会改变的。

posted @ 2019-07-31 15:55  豆瓣酱瓣豆  阅读(235)  评论(0编辑  收藏  举报