Python基础学习笔记(04)列表、元组

Python基础学习笔记(04)

一、今日内容大纲

  • 列表
  • 元组(了解)
  • range

二、list 列表

  1. 列表

    列表可以承载任意数据类型,存储大量的数据,是python常用的数据类型,可进行切片、索引等基本操作。以下为列表的基本形式:

    list = ['Raigor',123,True,[1,2,3]]
    
  2. 列表的索引与切片

    列表是有序的,切片与索引操作与字符串操作类似。

    list = ['Raigor',123,True,[1,2,3]]
    print(list[0],type(list[0])) print(list[1],type(list[1]))
    print(list[2],type(list[2]))
    print(list[3],type(list[3]))
    print(list[:2],type(list[:2]))
    

    程序运行结果为:

    Raigor <class 'str'>
    123 <class 'int'>
    True <class 'bool'>
    [1, 2, 3] <class 'list'>
    ['Raigor', 123] <class 'list'>
    
  3. 列表的创建

    • 方式一

      l1 = [1,2,'raigor']
      
    • 方式二

      l1 = list('dasdasdsa')		#可迭代对象
      print(l1)
      

      程序运行结果为:

      ['d', 'a', 's', 'd', 'a', 's', 'd', 's', 'a']
      
    • 方式三:列表推导式(今天暂不学习)

  4. 增删改查

    首先先声明一个列表:

    l1 = ['a','b','c','d','e']
    

    1)增加操作

    • append函数:在列表的最后追加值

      l1.append('xx')       #print(l1.append('xx'))的返回值为None
      print(l1)
      

      程序运行结果为:

      ['a', 'b', 'c', 'd', 'e', 'xx']
      
    • insert函数:在列表中间插入值

      l1.insert(2,'xxx')
      print(l1)
      

      程序运行结果为:

      ['a', 'b', 'xxx', 'c', 'd', 'e']
      
    • extend函数:迭代追加

      l1.extend('abcd')
      print(l1)
      

      程序运行结果为:

      ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd']
      

      tips:迭代追加的对象为函数括号内的最小元素,如:

      l1.extend(['abcd',])
      print(l1)
      

      程序运行结果为:

      ['a', 'b', 'c', 'd', 'e', 'abcd']
      

    2)删除操作

    • pop函数:按照索引删除(返回删除的元素)

      分别运行以下代码:

      l1.pop(-2)
      print(l1)
      
      print(l1.pop(-2))
      
      l1.pop()		#默认删除最后一个
      print(l1)
      

      运行结果分别为:

      ['a', 'b', 'c', 'e']
      
      ['a', 'b', 'c', 'e']
      
      ['a', 'b', 'c', 'd']
      
    • remove函数:指定元素删除,如果有重名元素,默认删除从左数第一个元素

      l1.remove('a')
      print(l1)
      

      程序运行结果为:

      ['b', 'c', 'd', 'e']
      
    • clear函数:清空列表,将指定列表清为空列表

      l1.clear()
      print(l1)
      

      程序运行结果为:

      []
      
    • del函数:可按照索引或按照切片删除

      #按照索引删除
      del l1[-1]
      print(l1)
      
      #按照切片删除
      del l1[::2]
      print(l1)
      

      程序运行结果分别为:

      ['a', 'b', 'c', 'd']
      
      ['b', 'd']
      

    3)修改操作:

    • 直接编辑索引元素

      l1[0] = '回归之音'
      
    • 按照切片迭代修改(了解)

      l1[2:] = '回归之音' 
      print(l1)
      

      程序运行结果为:

      ['a', 'b', '回', '归', '之', '音']
      
    • 按照切片规定步长修改

      l1[::2] = 'abc'             #l1[::2] = 'abcd' 不符合步长会报错
      print(l1)
      

      程序运行结果为:

      ['a', 'b', 'b', 'd', 'c']
      

    4)查找操作:

    • 索引

    • in函数

      list = [1,2,3,'Raigor']
      if 1 in list:
          print('Y')
       if 'Raigor' in list:
          print('Y')
      

      程序运行结果为:

      Y
      Y
      
    • for函数

      for i in l1:
          print(i)
      

      程序运行结果为:

      a
      b
      c
      d
      e
      

三、列表的嵌套

四、tuple 元组(了解)

  1. 元组

    是一种制只读列表,可以存储大量的数据,可以进行索引、切片操作,不可修改。其基本形式如下:

    tu = ('Raigor',123,True,[1,2,3])
    

    TIPS:虽然元组不可修改,但元组内嵌套的列表中的元素可以修改,如:

    tu[3].append('sb')
    print(tu)
    

    程序运行结果为:

    ('Raigor', 123, True, [1, 2, 3, 'sb'])
    
  2. 元组的拆包

    a, b = (1, 2)
    print(a,b)
    

    程序运行结果为:

    1 2
    

    TIPS:列表也可以拆包,但是一般很少使用。

五、range

  1. range

    类似于列表,子定制数字范围的数字列表,具有索引、切片等功能,其基本形式如下:

    r = range(0,5)
    
  2. range的使用

    for i in range(5): print(i)
    for i in range(2,5,2): print(i)
    for i in range(5,,-1): print(i)
    

    程序运行结果为:

    0			#1
    1
    2
    3
    4
    2			#2
    4
    5
    4			#3
    3
    2
    1
    
原文地址:https://www.cnblogs.com/raygor/p/13227632.html