列表的基础使用

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值