《Python编程快速上手,让繁锁工作自动化》笔记 第4章--列表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wilsonyun/article/details/84642985

列表数据类型及元组,列表和元且可以包含多个值,可以用它们将数据安排成层次结构。

4.1 列表数据类型

      列表是一个值,包含多个字构成的序列。如:

      ['cat', 'bat', 'rat','elephant']   [1, 2, 4]   ['hello',  3.14, True, None, 42]

 >>> spam = ['cat', 'bat', 'rat', 'elephant']
  >>> spam

 ['cat', 'bat', 'rat', 'elephant']  

 用下标取得列表中的单个值,下标从0开始,如spam[0]='cat', spam[3]='elephant'

负数下标: spam[-1]='elephant'

利用切片取得子列表:spam[1:4],在一个切片中,第一个整数是切片开始处的下标,第二个整数是切片结束处的下标。切片向上增长,直至第二个下标的值,但不包括它。spam[1:4]   # ['bat', 'rat', 'elephant']  spam[0:3]  #['cat', 'bat', 'rat']

用len()取列表长度  len(spam)   #4

用下标改变列表中的值: spam #['cat', 'bat', 'rat', 'elephant']   spam[1]='tiger'  #['cat', 'tiger', 'rat', 'elephant']

列表连接: [1,2,3] + ['a',b','c']     #[1,2.3,'a','b','c']

列表复制:[1,2,3] * 4  # [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

用del语句从列表中删除值: del spam[2]    # ['cat', 'bat',  'elephant'] 

列表用于循环: for i in ranage(len(spam)):

                                print(spam[i])

in 和 not in 操作符:   'dog' in  spam   # False

                                    'dog' not in spam   #True

多重赋值技巧: cat = ['fat', 'black', 'loud']    

                          size, color, dispostion = cat

             变量数的数目和列表的长度必须严格相等,否则出错。

增强赋值操作:   spam = 42;  spam += 1   #43

列表的方法:

1) 用index()方未能在列表中查找值, 该值存在于列表中,返回它的下标,否则,就报valueError错误。

    >>> spam = ['cat', 'bat', 'rat', 'elephant']
     >>>spam.index('bat')     # 1

2)用append()和insert()方法在列表中添加值,没有返回值,返回值为None

    append()添加到列表末尾, insert()在列表中任意下标处插入一值。

    spam.append('tiger')     # ['cat', 'bat', 'rat', 'elephant', 'tiger']

    spam.insert(2, 'tiger')   # ['cat', 'bat', 'tiger', 'rat', 'elephant']

3) 用remove()方法从列表中删除值

    spam = ['cat', 'bat', 'tiger', 'rat', 'elephant']

    spam.remove('rat')    # ['cat', 'bat', 'tiger', 'elephant']

4) 用sort()方法将列表中的值排序

      >>> spam
      ['cat', 'tiger', 'rat', 'elephant']
      >>> spam.sort()
      >>> spam
       ['cat', 'elephant', 'rat', 'tiger']

      sort(reverse=True)表示按降序 ,sort(reverse=True)表示按升序

      >>> spam.sort(reverse=True)
      >>> spam
      ['tiger', 'rat', 'elephant', 'cat']

类似列表的类型: 字符串和元组

可变和不可变数据类型: 列表是“可变的“的数据类型, 可添加、删除和修改

                                        字符串是”不可变的”数据类型,只能使用切片和连接构造一个“新的”字符串。

元组数据类型: 元组输入时用圆括号(),而不是方括号[]。使用方法与列表一样。

                          eggs = ('hello', 23, 0.5)

              但元组与列表主要区别在于: 元组像字符串一样是不可变的。

用list()和tuple()函数来转换类型

tuple():将列表转换成元组

>>> tuple(['cat', 'dog', 5])
('cat', 'dog', 5)

list(): 将元组转换成列表

>>> list(('cat', 'dog', 5))
['cat', 'dog', 5]

 copy模块的copy()和deepcopy()函数

需要import copy

copy.copy() : 可以用来复制列表或字典这样的可变值,而不是复制引用

copy.deepcopy(): 还未体现到与copy.copy()有什么区别? 希望知道的朋友告知,谢谢!

猜你喜欢

转载自blog.csdn.net/wilsonyun/article/details/84642985
今日推荐