Python3笔记---列表及操作列表1

1、列表定义和索引

  列表由一系列按特定顺序排列的元素组成。在Python中,用方括号[]来表示列表,用逗号隔开列表中的元素。

例如:bicycles=['trek','cannondale','redline','specialized']

  列表的索引时从0开始,例如bicycles[0]------>trek  bicycles[2]------>cannondale...以此类推。

  同时Python的索引还支持反响索引,当需要查找列表中的最后一个元素,则令索引值为-1即可。例如:bicycles[-1]------>specialized,bicycles[-2]------>redline...以此类推。

2、修改、添加、删除列表元素

  2.1 修改列表元素即对列表元素进行重新赋值,使用方法是重新对元素的索引值赋值。

  例如:motorcycles = ['honda', 'yamaha', 'suzuki']  motorcycles[0]='ducati'
     print(motorcycles)------> ['ducati', 'yamaha', 'suzuki']

  2.2 可以通过特定方法向列表中添加元素

  a>append() 在列表末尾添加元素,通过这个方法可以方便的实现动态添加元素,例如先创建一个空列表然后通过一系列的append()方法添加元素

    motorcycles = ['honda', 'yamaha', 'suzuki']

    motorcycles.append('ducati')

    print(motorcycles)------>['honda', 'yamaha', 'suzuki', 'ducati']

  b>insert()方法,在列表任意位置添加元素,使用方法:

  列表名.insert(位置,‘元素值’),例如:

  motorcycles = ['honda', 'yamaha', 'suzuki']

  motorcycles.insert(1,'ducati')  向列表的索引号为1的位置插入元素'ducati',原位置及以后的元素后移

  print(motorcycles)------>['honda', 'ducati','yamaha', 'suzuki']  

  2.3.1 使用del语句删除元素,如果知道要删除元素的索引值则使用del语句

  motorcycles = ['honda', 'yamaha', 'suzuki']
  del motorcycles[0]
  print(motorcycles)------> ['yamaha', 'suzuki']

  2.3.2 使用pop()语句删除元素,如果被删除的元素在后续的程序中需要使用则使用pop()语句,默认删除列表中末尾的元素。若需要删除索引值的元素则使用pop(索引值)

  motorcycles = ['honda', 'yamaha', 'suzuki']
  last_motorcycles=motorcycles.pop()    :删除最后一个元素,last_motorcycles=suzuki
  first_motorcycles=motorcycles.pop(0)     : 删除第一个元素,first_motorcycles=honda

  如果在后面的程序中需要使用之前删除的元素则建议使用pop()方法,否则建议使用del语句删除元素

  2.3.3 如果不知到所要删除元素的索引值,则使用remove()方法删除已知的元素,例如:

  motorcycles = ['honda', 'yamaha', 'suzuki']
  delete='yamaha'
  motorcycles.remove(delete)

  通常将要删除的元素保存到一个变量中,通过remove(变量名)方法删除列表中的元素,但该元素值也保存到变量中方便以后可以使用。

  需要注意的是,方法remove()只删除列表中第一个指定的值,若列表中出现多个需要删除的值,则需要循环操作来删除该元素。

3、组织列表

  3.1 使用sort()方法永久改变列表排序(默认按照ASCII码从小到达正向排序)

  例如: cars=['bwm','toyota','subaru']
      cars.sort()
      print(cars)------>['bwm', 'subaru', 'toyota']
    若需要对元素进行反向排序,则需要向sort()方法传递reverse=True即可

  例如: cars=['bwm','toyota','subaru']
      cars.sort(reverse=True)
      print(cars)------>['toyota', 'subaru','bwm'] 

  3.2 使用函数sorted()队列表进行临时排序,当需要显示表排序的结果,但又不改变列表的原始排序,则需要使用sorted()方法

  例如: cars=['bwm','toyota','subaru']
      print(sorted(cars))------>['bwm', 'subaru', 'toyota']  //临时排序
      print(cars)------>['bwm','toyota','subaru']      //原始排序顺序没有变

  3.3 使用reverse()方法将列表内元素排序由正序改为倒序,方法reverse()可以永久的改变列表的顺序,若要使列表恢复原有顺序,则对列表再次进行reverse()方法操作

  例如: magicians=['alice','david','carlina']
      magicians.reverse()
      print(magicians)------>['carlina', 'david', 'alice']

  3.4 使用len()函数可以得到列表的长度 

  例如: magicians=['alice','david','carlina']
      magician_num=len(magicians)
      print(magician_num)------>3

  3.5 使用for循环遍历整个列表

  例如: magicians=['alice','david','carlina']
      for magician in magicians:
        print(magician)------>  alice
                  david
                  carlina

 3.6 使用range()函数和list()函数创建数值列表

  range(num1,mun2)函数是产生从num1~num2-个连续的数值,例如range(1,5)则会依次产生1,2,3,4这个4个数字;list()函数则可以将range()函数产生的数值转化成列表。

  例如:  numlist=list(range(1,6))
       print(numlist)------>[1,2,3,4,5]

  使用range函数时还可以指定步长,例如range(1,10,2),则表示产生从1开始到9结束之间步长为2的数字[1,3,5,7,9]。

  使用for循环和range函数也可产生数值列表,优势在于产生数值列表时可以对数值进行操作,比如长生1~9的平方的数值列表

  例如:  sqares=[]
       for i in range(1,10):
             sqares.append(i**2)
       print(sqares)------>[1, 4, 9, 16, 25, 36, 49, 64, 81]
  3.7 使用min()函数,max()函数和sum()函数对数字列表进行简单的统计计算

  例如  >>> digits=[1,2,3,4,5,6,7,8,9,10]
      >>> min(digits)  #最小值计算
      1
      >>> max(digits)  #最大值计算
      10
      >>> sum(digits)  #求和计算
      55

  3.8 列表解析

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

    例如:square=[value**2 for value in range(1,10,2)]
       print(square)------>[1,9,25,49,81]

    使用列表解析时首先需要定义一个列表名如square,然后指定一个方括号左边的一个表达式,用于生成要存储的值。接下来编写一个for循环用于为表达式提供数值。

  

        
  

      
      

   

  

  

     

  

原文地址:https://www.cnblogs.com/luantianming/p/7466813.html