列表使我们以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。
定义一个列表:

menu = ["青椒肉丝", "糖醋鲤鱼", "红烧牛肉", "爆炒肥肠", "可乐鸡翅", "青椒炒辣椒",
"番茄炒西红柿", "土豆炖马铃薯", "糖醋鲤鱼"]
# 通过下标访问列表中的元素,下标从 0 开始
print(menu[0])
print(menu[3])
print(menu[-1])
print(menu[-3])
# 切片,取多个元素
print(menu[:5]) # 取第零个到第四个,左闭右开区间
print(menu[2:5]) # 取第二个到第四个
# 支持负数索引范围
print(menu[-5:-1]) # 取倒数第五个到倒数第二个
print(menu[-5:]) # 从倒数第五个取到最后一个
# 向列表中追加一个值
menu.append("什锦苏盘")
# 扩展列表,可以把一个列表扩展到另一个列表里边
menu2 = ["卤煮咸鸭", "炒金丝", "烩银丝"]
menu.extend(menu2)
print(menu)
# 按下标删除
del menu[6]
# 按内容删除
menu.remove("糖醋鲤鱼") # 只删除找到的第一个
print(menu)
# 如果想修改列表中的值,直接通过下标访问,重新赋值即可
menu[6] = "上汤娃娃菜"
print(menu)
# 向指定的位置插入值, 其后元素,顺延
menu.insert(2, "厨师长招牌菜")
print(menu)
# 统计某元素出现了几次
cc = menu.count("糖醋鲤鱼")
print(cc)
# 获取某元素的下标,只获取找到的第一个
cc = menu.index("糖醋鲤鱼")
print(cc)

元组其实和列表差不多,也是存一组数据,只不过,元组一旦被创建,就不能修改,所以又叫只读列
表。

menu = ("青椒肉丝", "糖醋鲤鱼", "红烧牛肉", "爆炒肥肠", "可乐鸡翅", "青椒炒辣椒",
"番茄炒西红柿", "土豆炖马铃薯", "糖醋鲤鱼")
print(menu[0])
# menu 支持两个方法。count、index,完毕
print(menu.index("红烧牛肉"))
print(menu.count("红烧牛肉")

程序练习:请写出以下购物车程序

  1. 启动程序后,让用户输入自己的工资,然后打印菜单列表(要打印编号和商品名,商品名从一开始
  2. 数)
  3. 允许用户根据商品编号购买商品
  4. 用户选择商品后,检测余额是否足够,足够就直接扣款,不够就提醒充值
  5. 可随时退出程序,退出时,打印已购买的商品和余。
    salary = int(input("请输入你的工资>>>"))
    # 菜单
    menu = [["上汤娃娃菜", 100], ["清蒸哈什蚂", 20], ["红牛烤羊肉串", 50], ["番茄炒西红柿",
    26]]
    # 购物车
    car_list = []
    for i in menu:
    print("%d:" % (menu.index(i) + 1), "%s的价格是%d" % (i[0], i[1]))
    while True:
    product_num = input("请输入想购买的商品>>>")
    if product_num == "q":
    print("已购买的商品:", car_list)
    print("当前余额:", salary)
    print("结束程序")
    break
    product_num = int(product_num)
    # 取到用户想购买的商品:menu[product_num - 1]
    want_product = menu[product_num - 1]
    # 判断余额是否充足
    if salary >= want_product[1]:
    # 购买成功
    salary -= want_product[1] # 余额减去商品价格
    car_list.append(want_product)
    else:
    print("余额不足请充值")

     list列表,tuple元组操作_退出程序