学习笔记-小甲鱼Python3学习第十三

发布时间:2019-09-23 17:10:00编辑:auto阅读(1604)

    元组中的元素不能被修改。用()把元素括起来,用,逗号隔开

    创建和访问元组

    更新和删除元组

    元组的相关操作符


    元组创建:

    >>> tuple1 = (1,2,3,4,5,6,7,8)            #使用()括起来,用,逗号隔开

    >>> tuple1

    (1, 2, 3, 4, 5, 6, 7, 8)

    >>> tuple2 = '张三','李四','王五'              #或者直接使用,逗号隔开

    >>> tuple2

    ('张三', '李四', '王五')

    >>> type(tuple1)                         #查看变量类型

    <class 'tuple'>

    >>> type(tuple2)

    <class 'tuple'>


    元组同数组一样,也可以进行分片

    >>> tuple1[2:5]

    (3, 4, 5)


    向元组中插入新元素

    >>> tuple2 = tuple2[:1] + ('赵六',) + tuple2[1:]                      #中间的()和,都是必须的

    >>> tuple2

    ('张三', '赵六', '李四', '王五')

    这里不是修改原来的元组,而是新建了一个元组赋值给tuple2,原来的('张三','李四','王五')这个元组依然在存储区域内,只是没有变量引用它,一段时间以后原来的元组存储区域就会被python回收


    元组跟数组不同,不能使用pop(),remove()方法删除其中的元素,不过可以使用del删除整个元组(用法少,一般不会明显删除整个元组)

    >>> tuple2.remove('张三')

    Traceback (most recent call last):

      File "<pyshell#17>", line 1, in <module>

        tuple2.remove('张三')

    AttributeError: 'tuple' object has no attribute 'remove'

    >>> tuple2.pop()

    Traceback (most recent call last):

      File "<pyshell#18>", line 1, in <module>

        tuple2.pop()

    AttributeError: 'tuple' object has no attribute 'pop'

    >>> del tuple2

    >>> tuple2

    Traceback (most recent call last):

      File "<pyshell#20>", line 1, in <module>

        tuple2

    NameError: name 'tuple2' is not defined


    --------------------------分隔符,哈哈哈-----------------------


    二、课后作业:

    0.请用一句话描述什么是列表?再用一句话描述什么是元组?

    列表:可以存放各种类型的数据,可以随时增、删、改里面的元素,所有元素使用[]括起来,以,隔开

    元组:类似一个封闭的列表,一旦定义就不能改变(不能增、删、改),所有元素使用()括起来,以,隔开


    1.什么情况下你需要使用元组而不是列表?

    当内容不被轻易修改的时候使用元组;

    当需要频繁修改数据的时候使用列表。


    2.当元组和列表掉下水,你会救谁?

    我会用del把它们全删了,哈哈哈。。。开玩笑的。当然选择列表了,列表提供灵活的编程方法,元组一经创建不能修改,缺乏灵活性


    3.请将下图左边列表的内置方法与右边的注释连线,并圈出元组可以使用的方法。

    image.png


    4.创建一个元组,什么情况下逗号和小括号必须同时存在,缺一不可?

    进行元组拼接,切拼接的元素只有一个的时候


    5.x, y, z = 1, 2, 3 请问x, y, z是元组吗?

    肯定不是,这是赋值操作,是对x,y,z分别赋值

    所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组。


    6.请写出以下情景中应该使用列表还是元组来保存数据: 

    1) 游戏中角色的属性:列表

    2) 你的×××信息:元组 

    3) 论坛的会员:列表 

    4) 团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:元组 

    5) 航天火箭各个组件的具体配置参数:元组 

    6) NASA系统中记录已经发现的行星数据:列表

关键字