三、python列表和元组

一、列表简介(list)

  3.1、列表是什么

  1. 列表是由一系列按特定顺序排列的元素组成。
  2. 在Python中,用方括号“ [ ] ”来表示列表,并用逗号来分隔其中的元素。
  3.  example = ['a', 'b', 'c'] 
  4. 列表是有序集合。

    3.1.1 访问列表元素

    1. 要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。
    2.   example[0] 

    3.1.2 索引从0开始而不是1开始

    1. Python访问最后一个列表元素,通过将索引指定为-1。(用在不知道列表长度的情况下访问最后的元素)

    3.1.3 使用列表中的各个值

  3.2、修改、添加和删除元素

    3.2.1 修改列表元素    

    1. 要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
    2. example[0] = 'hello'

    3.2.2 在列表中添加元素

    1. 方法append()将元素添加到列表末尾,而不影响列表中的其他所有元素。
    2. 方法insert(index, value)可在列表的任何位置添加新元素,需要指定新元素的索引和值。   

    3.2.3 从列表中删除元素

    1. 使用del语句删除元素, del example[0]
    2. 方法pop()可删除列表末尾的元素,并能够继续使用它。
    3. 使用pop(index)来删除列表中任何位置的元素,只需要在括号中指定要删除的元素的索引即可。
    4. 方法remove('value')删除不知道索引的元素的值。                            

  3.3、组织列表

    3.3.1 使用方法sort()对列表进行永久性排序

      方法sort()永久性地修改了列表元素的排列顺序。

      方法sort(reverse=True)按字母顺序相反的顺序排列列表元素。

    3.3.2 使用函数sorted()对列表进行临时排序

      函数sorted()按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

      如果要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。

    3.3.3 倒着打印列表

      要永久反转列表元素的排列顺序,可使用方法reverse()。

    3.3.4 确定列表的长度

      使用函数len()可快速获悉列表的长度。

    3.3.5 最大值,最小值

      min和max分别返回序列中最小和最大的元素

  3.4、函数list

    可将任何序列(而不仅仅是字符串)作为list的参数。

  3.5、给切片赋值

    使用切片赋值可在不替换原有元素的情况下插入新元素。

numers = [1,5]
numbers[1:1] = [2,3,4]
print(numbers)

  3.6、列表方法

      1. append()

    2. clear()

      方法clear()就地清空列表的内容。

lst = [1,2,3]
lst.clear()
lst >>> [ ]

    3.copy()

      方法copy()复制列表。

    4. count()

      方法count()计算指定的元素在列表中出现多少次。   

slt = [1,2,3,4,2,3,4,2,1,2]
slt.count(2)            

    5.extend()

      方法extend()能够将多个值附加到列表末尾,即可使用一个列表来扩展另一个列表。     

a  =  [1,2,3]
b  = [2,3,4,4]
a.extend(b)
print(a)

    6. index()

      方法index()在列表中查找指定值第一次出现的索引。

       knights.index('who') 

    7.insert()

    8.pop()

    9. remove()

    10. reverse()

    11. sort()

  3.7、高级排序

    方法sort()接受两个可选参数:key和reverse。

    比如要根据长度对元素进行排序,可将参数key设置为函数len。

     x.sort(key=len) 

    参数key能被设置为一个自定义函数。

 

 二、操作列表

  4.1 遍历整个列表

1 magicains = ['alice','davaid','carolina']
2 for magician in magicians:
3     print(magician) 

  4.2 创建数值列表

    4.2.1 使用函数range()

      Python()函数range(start, end,step)可以生成一系列的数字,输出不包含最后一个数字end,其中step为步长。      

 for value in range(1,5): 
        print(value)    

     4.2.1 使用range()创建数字列表

      要创建数字列表,可使用函数list()将range()的结果直接转换为列表。

numbers = list(range(1,6))
print(numbers)

    4.2.2 列表解析

      列表解析将for 循环和创建新元素的代码合并成一行,并自动附加新元素。

squares = [value**2 for value in range(1,11)]
print(squares)

  4.3 使用列表的一部分

    处理列表的部分元素——Python称之为切片

    4.4.1 切片(slicing)

      要创建切片,可指定要使用的第一个元素和最后一个元素的索引,中间用“ : ”连接,整体用中括号“ [ ] ”括起来。

       example[0:3]  

      当不指定start或end时,切片起始于start或终止于end。

      start为负数时表示索引从列表末尾开始。

      step指定切片的步长 example[0:3:1] 

    4.4.2 复制列表

      要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引“ [ : ] ”

example = list('abcd')
copy_example = example[:]

   4.4 乘法

    将序列与数x相乘时,将重复这个序列x次来创建一个新序列。

    1. 在Python中,None表示什么都没有。
    2. 空列表是使用不包含任何内容的两个方括号( [ ] )来表示。
    3. 初始化就是将变量赋值为None

  4.5 成员资格

    要检查特定的值是否包含在序列中,可使用布尔运算符 in 。

    它检查是否满足指定的条件,并返回相应的值:满足时返回True,不满足时返回False。

    

三、元组简介(tuple)

Python将不能修改的值称为不可变的,而不可变的列表被称为元组。

   4.1、定义元祖

    元祖看起来犹如列表,但使用圆括号而不是方括号来标示。

    定义元祖后,可以使用索引来访问其元素,就像访问列表元素一样。

    元祖中的元素不能被修改。

    虽然不能修改元祖的元素,但可以给存储元祖的变量赋值,达到修改元祖的“目的”。

          

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

posted @ 2020-02-27 18:55  Norni  阅读(...)  评论(...编辑  收藏