列表List_

列表 的相关操作(CRUD)

列表的特点

1.有序的

2.可变的

# 定义一个列表 
# 方法一
my_list = list()
# 方法二
my_list = []

1. 增加元素

  • insert

    Insert(要添加的索引,要添加的元素)

  • append

    Append() 会把元素添加在列表的末端

  • extend

    会把元素迭代(遍历)添加到列表中

2. 查找元素

  • in not in 返回布尔值
  • index

    index(元素,start,stop) 返回 该元素的索引

  • count

3. 删除元素

  • Del()

    Del() 根据下标索引删除

    Del 列表名[索引]

  • Pop()

    Pop()有两种用法

    1. Pop()直接删除列表最后的值
    2. Pop(列表索引)
  • Remove()

    Remove()根据列表的值进行删除

  • Clear()

    Clear()清空元素,返回一个空列表

4. 排序

  • sort
my = [ 2, 3, 5, 7, 2, 0]
# 升序
my.sort()
print(my)

# 降序
my.sort(reverse=True)
print(my)

# 列表的数据逆置
ret = reversed(my)
print(list(ret))

my = [ 2, 3, 5, 7, 2, 0]
ret1 = reversed(my)
print(list(ret1))
# 结果: [0, 2, 7, 5, 3, 2]

列表的嵌套应用


# 一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配

# 方法一
import random
teacher = 'ABCDEFGH'
box = [[], [],[]]
for name in teacher:
    index = random.randint(0,2)
    box[index].append(name)
print(box)

# 方法二
import random

# 定义一个列表用来保存3个办公室
offices = [[],[],[]]

# 定义一个列表用来存储8位老师的名字
names = ['A','B','C','D','E','F','G','H']

i = 0
for name in names:
    index = random.randint(0,2)    
    offices[index].append(name)

i = 1
for tempNames in offices:
    print('办公室%d的人数为:%d'%(i,len(tempNames)))
    i+=1
    for name in tempNames:
        print("%s"%name,end='')
    print("\n")
    print("-"*20)

# 随机放球问题
# 有10个球分别3红、3蓝、4白,现需要将这10个球放入这3个盒子,要求每个盒子至少有一个白球,请用程序实现
#提示:
# 使用嵌套列表模拟三个盒子
# 先向每个盒子放入一个白球,然后再遍历剩余的球随机放入一个盒子里

# 方法一
import random
balls='hhhlllbbbb'
box = [[], [], []]
for ball in balls:
    if ball =='b':
        if 'b' not in box[0]:
            box[0].append(ball)
        elif 'b' not in box[1]:
            box[1].append(ball)
        elif'b' not in box[2]:
            box[2].append(ball)
        else:
             box[index].append(ball)
    else:
        index = random.randint(0,2)
        box[index].append(ball)
else:
    print(box)
# 方法二 

import random
# 定义一个列表用来保存3个盒子
boxs = [[],[],[]]
# 定义一个列表用来存放10个球
balls = ['w','w','w','w','r','r','r','b','b','b']

# 判断条件,把球添加到盒子里面
i = 0
for ball in balls:
    if ball == "w" and i < 3:
        if i == 0:
            boxs[0].append(ball)
        if i == 1:
            boxs[1].append(ball)
        if i == 2:
            boxs[2].append(ball)
        i += 1
    else:
        index = random.randint(0,2)
        boxs[index].append(ball)
print(boxs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值