列表是"任意对象"的有序集合,注意这个"任意对象",换句话说就是列表的元素可以是任何数据类型。
所谓海纳百川、有容乃大,这也就决定列表是一种包容型非常好的的容器类数据类型,作为强大的数据类型支撑着强大的程序语言python。
列表里的数据可以增加减少改变,更让人用着顺手的是以前从字符串那儿学到的那点东西很多都可以拿来用。
比如通过索引对单个元素的引用,切片对片段的读取,列表的合并与长度的获取;比如索引都是从0开始,都是可正向也可逆向。
作为python 的一个数据类型,列表也是一个对象,人家可是自带超级好用的工具包哦,里面的方法函数能帮助我们更得心应手滴操作列表和列表中的数据。
就好比一套拳法的每个动作都练好了,自然会打出一套虎虎生风的拳法来。
为了解释列表的使用,我们引入了冒泡排序法。排序法有很多,学起来挺费劲,多亏我们使用的冒泡排序是里面最简单的,我当然不会会告诉你也是效率最低的啦。
我们写了一个冒泡排序整数列表的程序实例,假装不知道这是多此一举,因为人家列表根本就自带排序的方法函数好不好。
整数列表我们不是手工输入的,而是引入了随机模块调用了随机函数产生的,顺带着我们也演示了for循环生成列表。
多数情况下我们是使用一维列表,除非列表的元素也是列表,那就可以产生二维矩阵了,然后我们就利用二位列表打印了个九九乘法表。
列表的定义使用和冒泡排序
继续理解和使用列表
# ---------- PROBLEM : CREATE MULTIPLICATION TABLE ----------
# With 2 for loops fill the cells in a multidimensional
# list with a multiplication table using values 1 - 9
'''
1, 2, 3, 4, 5, 6, 7, 8, 9,
2, 4, 6, 8, 10, 12, 14, 16, 18,
3, 6, 9, 12, 15, 18, 21, 24, 27,
4, 8, 12, 16, 20, 24, 28, 32, 36,
5, 10, 15, 20, 25, 30, 35, 40, 45,
6, 12, 18, 24, 30, 36, 42, 48, 54,
7, 14, 21, 28, 35, 42, 49, 56, 63,
8, 16, 24, 32, 40, 48, 56, 64, 72,
9, 18, 27, 36, 45, 54, 63, 72, 81
'''
# Create the multidimensional list
multTable = [[0] * 10 for i in range(10)]
# This will increment for each row
for i in range(1, 10):
# This will increment for each item in the row
for j in range(1, 10):
# Assign the value to the cell
multTable[i][j] = i * j
# Output the data in the same way you assigned it
for i in range(1, 10):
for j in range(1, 10):
print(multTable[i][j], end=", ")
print()
# ---------- SORT A LIST : BUBBLE SORT ----------
import random
# create a list by random generate
numList = []
M = 10
for i in range(M):
numList.append(random.randrange(1, 10))
print(numList)
# define a variable to identify the last index and decrement for the outer loop
i = len(numList) - 1
while i > 0:
# define a variable to identify the inner loop and compare adjacent elements
j = 0
# inner loop to compare and switch adjacent elements
while j < i:
# if the value on the left is bigger, then switch
if numList[j] > numList[j+1]:
numList[j], numList[j+1] = numList[j+1], numList[j]
# increment the inner loop control variable
j +=1
# Identify the end of one round
for k in numList:
print(k, end=", ")
print()
# decrement the outer loop control variable
i -= 1