Day2 之 元组tuple

tuple 元组
    也是有序列表 ,与list非常相似,但是tuple一旦初始化就不能修改。
        name = ('a','b',1,2,3,True)
       
    tuple不支持 append、insert ,因为tuple初始化后不能修改。
由于不可修改,所以代码更安全,如果可能的话,能用tuple代替list ,尽可能使用tuple。
tuple可以定义为空, 使用 a = () 来定义。

tuple的坑
    如果tuple中只有1个元素,那么要使用 a = ('a',)     b=(1,) 的方式来定义。
    如果不加逗号的话, a = (1)  == a = 1 ,被视为数学中的小括号,而不是元组。
   
用tuple包含list
    tuple虽然初始化后不能修改,但是当tuple中的元素为list时, list依然是可以修改的。
        >>> a = ('a','b',True,1,['qq','yy'],'End')
        >>> a
        ('a', 'b', True, 1, ['qq', 'yy'], 'End')
        >>> a[4]
        ['qq', 'yy']
        >>> a[4][1] = 'aa'
        >>> a
        ('a', 'b', True, 1, ['qq', 'aa'], 'End')
    虽然tuple不可变,tuple第四个元素指向的是list,但是list的元素指向变了。
    如果要保证tuple中一个内容都不变,就要保证元组中的任何一个元素本身就不能变。
   
练习:
L = [
    ['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']
]
# 打印Apple:
print(?)
# 打印Python:
print(?)
# 打印Lisa:
print(?)
posted @ 2018-04-27 13:42  孔个个  阅读(120)  评论(0编辑  收藏  举报