You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python遍历对象ArrayList及结账程序产品列表操作问题咨询

Python对象列表遍历与结账程序实现方案

首先得纠正一个小细节:Python里并没有Java中的ArrayList,我们直接用内置的list类型就可以存储对象啦~而且注意别用list当变量名哦,这会覆盖Python的内置类型,容易出问题,建议改成product_list这类有意义的名字。

一、如何遍历存储对象的列表?

遍历对象列表的方法有好几种,根据你的需求选就行:

  • 直接遍历每个对象(最常用)
    直接循环列表里的每个产品对象,然后访问它的属性:

    for product in product_list:
        print(f"条码:{product.barcode},名称:{product.name},价格:{product.price}")
    
  • 带索引遍历(需要知道产品位置时用)
    如果需要显示产品的序号,可以用range结合索引:

    for i in range(len(product_list)):
        product = product_list[i]
        print(f"第{i+1}个产品:条码{product.barcode},名称{product.name},价格{product.price}")
    
  • 用enumerate同时获取索引和对象(更简洁)
    enumerate可以直接帮你拿到索引和对应的对象,还能指定起始序号:

    for idx, product in enumerate(product_list, start=1):
        print(f"第{idx}个产品:条码{product.barcode},名称{product.name},价格{product.price}")
    

二、你的结账程序完整实现方案

结合你给出的代码,我帮你整理了完整可运行的版本,解决添加产品和打印列表的问题:

class Product:
    def __init__(self, barcode, name, price):
        self.barcode = barcode
        self.name = name
        self.price = price

# 创建产品实例
product1 = Product(510, 'milk', 6)
product2 = Product(511, 'coke', 3)
product3 = Product(512, 'chicken', 10)
product4 = Product(513, 'shirt', 40)
product5 = Product(514, 'kitkat', 4)

# 初始化空的产品列表(避免用list当变量名)
product_list = []

def add_products(products):
    """批量添加产品到列表"""
    # 一次性添加多个产品用extend,单个添加用append
    product_list.extend(products)

def print_all_products():
    """打印列表中所有产品的详细信息"""
    print("=== 当前购物车产品 ===")
    for idx, product in enumerate(product_list, start=1):
        print(f"{idx}. 条码:{product.barcode} | 名称:{product.name} | 价格:{product.price}元")

# 调用函数添加所有产品
add_products([product1, product2, product3, product4, product5])
# 打印产品列表
print_all_products()

关键说明:

  • 变量名规范:把原来的list改成了product_list,避免覆盖Python内置的list类型,这可能是你之前遇到问题的原因之一。
  • 添加产品方式:用extend方法可以一次性把多个产品实例添加到列表里,如果你想单个添加,就用product_list.append(product1)这种写法。
  • 打印逻辑:通过遍历每个Product对象,直接访问它的barcode、name、price属性,就能输出产品的详细信息啦。

运行这段代码后,你就能看到所有产品的信息被整齐打印出来了~

内容的提问来源于stack exchange,提问作者pravin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:48:51