zoukankan      html  css  js  c++  java
  • think python 第10章 lists

    10.1列表就是序列

    10.2列表是可变的

    10.3遍历列表

    #若需要写或更新元素,需要通过下标访问,一个常用的方法是结合range和len函数
    num = [1,2,3,4,5]
    for i in range(len(num)):
        num[i] = num[i] * 2
    print(num)
    #对于一个看Jon个列表的for循环将不会执行循环的主体
    for x in empty:
        print('this never happens')

    10.4lists operations

    +是连接操作;*是给定次数重复列表

    10.5lists slices

    10.6lists methods

    append添加至列表尾部,extend添加一个列表至列表尾部;sort从小到大排序

    10.7map,filter and reduce

    def capitalize_all(t):
        res = []
        for i in t:
            res.append(s.capitalize())
        return res
    def only_upper(t):
        res = []
        for i in t:
            if s.isupper():
                res.append(s)
        return res

    10.8 deleting elements

    pop修改列表,,并返回被删除的元素。如果不提供下表,将删除最后一个元素。

    如果不需要被删除的值,可以用del。

    如果知道要删除的元素(但不知道下标),可以使用remove,remove的返回值是None

    10.9lists and string

    list函数将字符串分割成单独的字符,如果要将字符串分割成单词,可以使用split方法。一个可选的参数称为分隔符,指定了什么字符作为分界线。join功能与split相反,将一个列表字符串连接起来。

    10.10objects and values

    >>> a = 'banana'
    >>> b = 'banana'
    >>> a is b
    True
    >>> a = [1,2,3]
    >>> b = [1,2,3]
    >>> a is b
    False
    >>> #字符串 a跟b是相同的;列表a跟b是相等的,但是是不同的

    10.11 aliasing (别名)

    >>> a = [1,2,3]
    >>> b = a
    >>> b is a
    True
    >>> b[0] = 11
    >>> print(a)
    [11, 2, 3]
    >>> #一个变量和一公分对象的关联称为引用,这这个例子中,同一个对象有两个引用。如果一个对象有多于一个引用,我们称这个对象是有别名的。有别名的对象是可以改变的,对一个别名的改变会影响另一个。所以应该尽量避免这种情况。

    10.12list arguments

    >>> t1 = [1,2]
    >>> t2 = t1.append(3)
    >>> print(t1)
    [1, 2, 3]
    >>> print(t2)
    None
    >>> #append方法是修改一个列表
    >>> t1 = [1,2]
    >>> t3 = t1 + [3]
    >>> print(t3)
    [1, 2, 3]
    >>> t2 is t3
    False
    >>> def bad_delete_head(t):
        t = t[1:] #wrong
    
        
    >>> #切片操作创建一个新的列表,并使t指向它。但这些操作对作为参数的列表没有影响
    >>> #一个替代的写法是创建并返回一个新的列表。
    >>> def tail(t):
        return t[1:]
    
    >>> #但这个函数并不修改原先的列表,下面给出如何使用这个函数
    >>> letters = ['a','b','c']
    >>> rest = tail(letters)
    >>> print (rest)
    ['b', 'c']

    10.13debugging

    有3点需要记住:

    1.大多数的列表的方法对参数进行修改,然后返回None。字符串的方法则相反,他们保留原始的字符串并返回一个新的字符串

    2.养成自己的编码习惯

    3复制拷贝,避免别名

  • 相关阅读:
    更新github上的代码
    使用git上传项目代码到github
    解决jenkins插件列表为空的问题
    P3200 [HNOI2009]有趣的数列
    BZOJ3907 网格
    解决SDK下载时速度过慢的问题
    实用的Android代码片段集合(精)
    广播与服务(二)
    action使用大全
    广播与服务(一)
  • 原文地址:https://www.cnblogs.com/Kingwjk/p/7906440.html
Copyright © 2011-2022 走看看