跳至正文
View Categories

1 min read

主要内容 #

  1. 二维列表的定义
  2. 二维列表的基本操作:构建, 索引, 取行, 取列

1. 二维列表的定义 #

二维列表又称为矩阵,可以理解为列表里的每一个元素是一个一维列表。 比如,以下表格表示一个一维列表(1行6列) 以下表格表示一个二维列表(2行10列) 以下表格表示一个二维列表(5行10列) Python中,一维列表(1行N+1列)的创建格式如下: [元素0,元素1,元素2,…,元素N] 二维列表(M+1行N+1列)创建格式如下。注:二维列表中每个元素之间要用逗号隔开。 [ [元素00,元素01,元素02,…,元素0N], [元素10,元素11,元素12,…,元素1N], [元素20,元素21,元素22,…,元素2N], ┇ [元素M0,元素M1,元素M2,…,元素MN] ]

2. 二维列表的基本操作 #

  • 构建一个二维列表
  • 以下程序构建了一个4行4列的二维列表
    list2D = [
             [0,'语文','数学','英语'],
             ['小明',95,98,99],
             ['莉莉',99,95,100],
             ['大雄',60,10,50]
             ]
    print(list2D)
  • 二维列表的索引
  • 和一维列表的索引类似,通过两个中括号和数字读取二维列表中指定的一个元素。 从左数第一个中括号里的索引表示行,第二个中括号里的索引表示列,比如:
    list2D = [
             [0,'语文','数学','英语'],
             ['小明',95,98,99],
             ['莉莉',99,95,100],
             ['大雄',60,10,50]
             ]
    print(list2D[0][0])    # 取第0行第0列的元素
    print(list2D[0][2])    # 取第0行第2列的元素
    print(list2D[2][1])    # 取第2行第1列的元素
  • 取二维列表中的行数据
  • 只需要一个中括号和数字即可读取二维列表对应索引的行数据,比如:
    list2D = [
             [0,'语文','数学','英语'],
             ['小明',95,98,99],
             ['莉莉',99,95,100],
             ['大雄',60,10,50]
             ]
    print(list2D[0])    # 取第0行所有元素
    print(list2D[1])    # 取第1行所有元素
    print(list2D[2])    # 取第2行所有元素
  • 取二维列表中的列数据
  • 以下程序通过for循环取出二维列表的每一行:
    list2D = [
             [0,'语文','数学','英语'],
             ['小明',95,98,99],
             ['莉莉',99,95,100],
             ['大雄',60,10,50]
             ]
    for i in list2D:
        print(i)
    在取出每一行的同时,通过二次索引取出该行指定的列。比如:
    list2D = [
             [0,'语文','数学','英语'],
             ['小明',95,98,99],
             ['莉莉',99,95,100],
             ['大雄',60,10,50]
             ]
    
    print('取第0列')
    for i in list2D:
        print(i[0])
    
    print()
    print('取第2列')
    for i in list2D:
        print(i[2])
    将所取列的结果放入一个列表中: 比如,将第0列放入列表list0中 推导表达式:
    list2D = [
             [0,'语文','数学','英语'],
             ['小明',95,98,99],
             ['莉莉',99,95,100],
             ['大雄',60,10,50]
             ]
    
    list0 = [i[0] for i in list2D]
    print(list0)
    传统方法:
    list2D = [
             [0,'语文','数学','英语'],
             ['小明',95,98,99],
             ['莉莉',99,95,100],
             ['大雄',60,10,50]
             ]
    
    list0 = []
    for i in list2D:
        list0.append(i[0])
    print(list0)

    3. 小结 #

  • 二维列表又称为矩阵,可以理解为列表里的每一个元素是一个一维列表
  • 二维列表的基本操作:构建, 索引, 取行, 取列
  • 习题 #

      OJ训练题 #

      1、数字走向1 – ★★
      2、对角线1 – ★★
      3、有趣的数字图形1 – ★★★
      4、回形方阵 – ★★★
      5、输出杨辉三角的前n行 – ★★★★