学习Python的第七天

列表

序列通用方法

  1. 加号( + )
    两种相同类型的序列相加
a = [1,2,3,4]
b = [5,6,7,8,9]
print(a + b)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 乘号( * )
    使用数字 n 乘以一个序列会生成一个新的序列,新序列的内容为原来序列被重复 n 次的结果
a = [1,2,3,4]
print(a*3)
# [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
  1. in 和 not in
    使用 in 关键字检查某个元素是否是序列的成员,即检查某个元素是否包含在该序列中(not in 反之)
room = ['凯凯', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']
x = '冰冰'
result = x in room
print(result)
# False
  1. len()
    计算序列的长度,即返回序列包含多少个元素
room = ['凯凯', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']
length = len(room)
print(length)
# 7
  1. max() 和 min()
    使用 max() 函数返回序列中的最大元素;使用 min() 函数返回序列中的最小元素
x = [1,2,3,4,8,9,52,7,65,35,98,70]
print('最大的值是:',max(x))
print('最小的值是:',min(x))
# 最大的值是: 98
# 最小的值是: 1
  1. list.index()
    返回指定元素在列表中首次出现的位置(即索引) list.index(value,start,end)
# 出现重复元素的情况
x = [1,2,8,5,4,3,2,9]
print(x.index(2))
print(x.index(2,2,8))
# 1
# 6
  1. list.count()
    计算某个元素在序列中的个数
x = [1,2,2,4,4,4,5,7,89]
print(x.count(4))
# 3

修改列表

  1. 下表索引值
room = ['凯凯', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']
room[2] = '凯凯'
print(room)
# ['凯凯', '浩浩', '凯凯', '亮亮', '建建', '日古', '肥龙']
  1. del 关键字
    删除列表
# del list.name


room = ['凯凯', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']
del room
print(room)
# NameError: name 'room' is not defined

  1. 切片 + 步长
    修改序列的元素,
room = ['凯凯', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']
room[1:1] = ['冰冰'] # 注意这里是一个列表,添加的是序列的元素
print(room)
# ['凯凯', '冰冰', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']

列表的方法

  1. append()
    在列表的尾部添加一个元素
x= []
x.append(1)
print(x)
# [1]
  1. insert()
    向指定位置插入一个元素
    list.insert(index,value) same as list[index:index]=[value]
x = [1,2,3,4,5,6,7,8,9]
x.insert(5,50)
print(x)
# [1, 2, 3, 4, 5, 50, 6, 7, 8, 9]
  1. extend()
    listname.extend(seq)
    将 seq 的内容追加到 listname 的后面
x = [1,2,3,4,5,6,7,8,9]
y = [10]
x.extend(y)
print(x)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  1. pop() 有返回值
    删除指定位置的元素
room = ['凯凯', '浩浩', '狮子狗', '亮亮', '建建', '日古', '肥龙']
x = room.pop(2)
print(x)
print(room)
# 狮子狗
['凯凯', '浩浩', '亮亮', '建建', '日古', '肥龙']
  1. remove() 没有返回值
    删除首次出现的指定元素
x = [1,2,2,2,3,4,5,6,7,8,9]
print(x)
x.remove(2)
print(x)
#[1, 2, 2, 2, 3, 4, 5, 6, 7, 8, 9]
#[1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
# 需要注意的是,这里只删除了第一个 2 
  1. clear()
    清空列表
x = [1,2,2,2,3,4,5,6,7,8,9]
x.clear()
print(x)
# []
  1. reverse()
    对列表进行翻转
x = [1,2,3,4,5,6,7,8,9]
x.reverse()
print(x)
# [9, 8, 7, 6, 5, 4, 3, 2, 1]
  1. sort(reverse = True) 降序 默认升序
x = [1,5,3,4,2,6,8,7,9]
x.sort()
print(x)
x.sort(reverse=True)
print(x)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# [9, 8, 7, 6, 5, 4, 3, 2, 1]

遍历列表

  1. for 循环的实现原理
    直接使用 for 循环列表,只能输出元素的值
for item in listname:
	# 输出 item
  1. range() 函数
range(start:end:step)
# 类似切片,左开右闭
x = range(0,11,2)
print(list(x))
# [0, 2, 4, 6, 8, 10]

例子(老师的抽奖作业)

给用户9次机会猜1 - 10 个数字随机来猜数字。如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。最终结果要求用户怎么也猜不对

# 如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。最终结果要求用户怎么也猜不对
# 真实 抽奖!!

print('你有9次机会猜 1 —10 之间的数' )
print()

bingo = list(range(1,11))
i = 0
while i < 9:
    x = int(input('请输入您猜的数:'))

    if x in bingo:
        bingo.remove(x)

    if i < 8:
        print(f'运气不好,您猜错了,您还有 {8-i} 次机会')

    elif i == 8:
        print(f'对不起,您猜错了,正确答案是 {bingo[0]}')

    i += 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值