1.什么是列表?列表可以用来做什么?
列表 由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字 0~9 或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
列表的成员可以是数字,列表,字典,字符串。没有任何的限制。
列表是用[]包裹的数据集合,不同的成员之间使用,进行分隔。
列表可以用来存储多个元素,比如说你有100个学生的姓名需要输入,可以使用列表进行存储。
2.列表的基本操作
列表的基本操作无非是以下四种:增、删、改、查
创建的列表是动态的,这意味着列表中间的值都是可以修改的,删除、增加元素的。
2.1 列表的下标
列表其实就是相当于其他的语言中间的数组,既然是相当于其他语言中间的数组,所以列表也是可以通过索引也就是下标来进行获取对应位置的值,在Python中间索引还可以应用到字符串,通过下标来进行获取值。
我们可以通过索引去访问列表中的值,列表是一个有序的集合。
list1 = ["123", '124', '125', '126', '128']
print(list1[0])
需要特别注意的地方是,和咋们现实生活中间采用1进行计数不同,程序语言都是采用的0开始计数的。
2.2 修改列表的值
Python中间修改列表中间的值非常简单,通过对对应下标的位置直接赋值就可以进行列表的值的修改。
2.3 列表元素的增加
Python中间增加列表中间的元素有两种,一种是直接向列表最后的插入指定的值,一种是在指定的位置插入值,这两种方式都可以实现列表元素的增加。
list1.append('value')
list1.insert(index,'value')
2.4 列表元素的删除
Python中间删除列表中间的元素的方法有pop函数、remove函数、clear函数三种,其中pop函数是删除列表最末尾的值,并将最末尾的值作为返回值返回,pop函数还可以对指定位置的值进行删除,如果不传值则是删除最末尾的值,如果传值就是删除指定位置的值。
remove函数同样是删除指定的值,同样是删除,remove函数是删除指定的值,pop函数是删除指定位置的值,两个函数都非常的实用,clear函数也可以实现删除功能,clear函数是清空列表中的所有的元素。
tea = teachers.pop()
teachers.remove('6')
2.5 列表中的元素的查找
Python可以通过index函数查找,index函数会根据传入的参数,查找该元素第一次出现的位置,还可以在指定范围内查找元素出现的位置,如果元素不存在列表中间会报错。我们还可以使用in关键字进行判断。
teachers.index(‘a’)
if 'a' in teachers:
print('yes')
else:
print('no')
3.案例
案例1:实现把八个老师随机分到三个办公室中去
逻辑: 首先 创建两个列表,存储老师,存储办公室,然后遍历每一个老师,将老师存储到随机的办公室去
import random
offices = [[],[],[]]
teachers = []
i = 1
flag = True
while flag:
name = input('请输入第%d个名字:'%i)
if name == '':
continue
else:
teachers.append(name)
if len(teachers) >= 8:
flag = False
i += 1
for i in teachers:
num = random.randint(0, 2)
offices[num].append(i)
for i in offices:
print(i)
案例2:求最大公约数和最小公倍数
最大公约数 就是最大公因数,最小公倍数就是两个数的积除以最大公约数
最大公约数的值要比两个数中间最小的那个小,循环遍历1到最小值,然后看是否存在一个值能够被两个数整除,一直遍历到最小的那个数就可以找到所有的因数,并将最大的存储起来。
num1 = int(input('请输入第一个值,必须大于1:'))
num2 = int(input('请输入第二个值,必须大于1:'))
min_num = min(num1,num2)
if min_num <= 1:
print('不合理的数字')
elif num1 == num2:
print('两数相等,不存在最大公约数和最小公倍数')
else:
for i in range(1,min_num):
if num1%i == 0 and num2 % i == 0:
gcd = i
lcm = int((num1*num2)/ gcd)
print(gcd)
print(lcm)