zoukankan      html  css  js  c++  java
  • 第4课 列表和元组

    一、列表

    1、列表的定义:用一个中括号--[ ]表示列表。例如,[1]表示列表有一个元素1

    >>> alist = [1]
    >>> alist
    [1]
    >>> type(alist)
    <class 'list'>

    2、列表可以存储任意类型

    >>> alist = [1, 'zzyyzz', 3.14, [1,2,3,'yy']]
    >>> alist
    [1, 'zzyyzz', 3.14, [1, 2, 3, 'yy']]

    3、列表是序列类型:1-有下标、2-可以切片。

      如果列表中包含的元素是一个列表,要访问列表中列表的元素,需要用两个下标来确认。例如:访问列表中子列表的元素yy

    >>> alist = [1, 2, 3, ['yy', 668, 'python']]
    >>> alist[3][0]
    'yy'
    >>> 'python' in alist
    False
    >>> 1 in alist
    True
    >>> 'python' in alist[3]
    True

    4、列表可以改变内容(值/元素的个数),但字符串不可以。

    1)列表还可以使用append()函数添加元素,append()函数只能在列表末尾添加元素。

    >>> str1 = 'abcxyz'
    >>> str1[0] = 100
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        str1[0] = 100
    TypeError: 'str' object does not support item assignment
    >>> alist = [1, 2, 3, 'x', 'y', 168]
    >>> alist[0] = 100 # 列表可以改变值的大小
    >>> alist
    [100, 2, 3, 'x', 'y', 168]
    >>> alist.append(1000) # 改变元素的个数
    >>> alist
    [100, 2, 3, 'x', 'y', 168, 1000]

    2)使用remove()函数删除列表中的元素

    >>> alist = [100, 2, 3, 'x', 'y', 168, 1000]
    >>> alist.remove(1000)
    >>> alist
    [100, 2, 3, 'x', 'y', 168]

    二、元组:tuple ---用小括号表示,列表用中括号表示。只有一个元素的元组---tup1 = (1,),要在元素后面加逗号

    >>> tup1 = (1,)
    >>> type(tup1)
    <class 'tuple'>
    >>> type((2,))
    <class 'tuple'>

    1)元组的元素是序列类型,有下标,可以切片。

    >>> tup2 = (1, 3.14, [2.15, 'yy', 999])
    >>> tup2[2]
    [2.15, 'yy', 999]
    >>> tup2[1:2]
    (3.14,)

    2)元组不支持改变值(内容和元素的长度)

    >>> tup3 = (666, 'a', 88, ('bdc', 'yy'))
    >>> tup3[1] = 999
    Traceback (most recent call last):
      File "<pyshell#8>", line 1, in <module>
        tup3[1] = 999
    TypeError: 'tuple' object does not support item assignment

    3)可以存储任意类型

    >>> tup4 = ('y', 1, [22, 'zty', 333], ('b', 168))
    >>> type(tup4)
    <class 'tuple'>

    4)元组切片后,得到的类型还是元组。

    >>> tup5 = (3.14, ('a', 'b', 3), [2, 1, 16, 189, 'd'])
    >>> tup5[1:]
    (('a', 'b', 3), [2, 1, 16, 189, 'd'])

    5)排序不能用元组,但是可以用列表。

    6)内置函数max()和min()。max()返回元组或列表中的最大值,min()返回元组或列表中的最小值---注意:一般用于同一数据类型(数值、字符串),不同数据类型则会报错。-----思考:内置函数反映静态属性的一般格式为:内置函数(对象),如下面的max()和min()函数;如果是动态的属性,如添加append(),delete()等,格式为:对象.append()、对象.delete()

    >>> tup1 = (1, 2, 3, 'a', 6, 8, 9)
    >>> max(tup1)
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        max(tup1)
    TypeError: '>' not supported between instances of 'str' and 'int'
    >>> tup1 = (1, 2, 3, 6, 8, 9)
    >>> max(tup1)
    9
    >>> min(tup1)
    1

    获取列表中的最大值和最小值

    >>> list1 = [1, 2, 3, 6, 7, 8, 9]
    >>> max(list1)
    9
    >>> min(list1)
    1

    7)reverse()方法---反转列表的元素。元组不能排序和反转

    >>> list1 = [1, 2, 3, 6, 7, 8, 9]
    >>> list1.reverse()
    >>> list1
    [9, 8, 7, 6, 3, 2, 1]
    >>> tup1 = (1, 2, 3, 7, 8, 9, 10)
    >>> tup1.reverse() # 因为元组是不可变的
    Traceback (most recent call last):
      File "<pyshell#14>", line 1, in <module>
        tup1.reverse()
    AttributeError: 'tuple' object has no attribute 'reverse'

    8)sort()方法可以从来排序,默然sort(reverse = False),只排序不反转;如果sort(reverse = True),则会按从小到大排列,然后再反转。

    >>> alist = [1, 7, 2, 8, 6]
    >>> alist.sort()
    >>> alist
    [1, 2, 6, 7, 8]
    >>> alist.sort(reverse = False)
    >>> alist
    [1, 2, 6, 7, 8]
    >>> alist.sort(reverse = True)
    >>> alist
    [8, 7, 6, 2, 1]
  • 相关阅读:
    Spring Security简介与入门Demo
    电商项目之多功能增删改查案例
    linux-用户管理
    zabbix3.4配置第三方邮件报警
    zabbix3.4配置客户端配置
    centos7上安装zabbix3.4的详细步骤与问题处理记录
    MyBatis日记(五):一对一关系,一对多关系
    MyBatis日记(四):MyBatis——insert、update、delete、select
    Python日记(二):Python之禅
    Python日记(一):拜见小主——Python
  • 原文地址:https://www.cnblogs.com/nick1998/p/9963213.html
Copyright © 2011-2022 走看看