【问题标题】:Making a loop with lists使用列表进行循环
【发布时间】:2016-09-10 23:22:42
【问题描述】:

我是 Python 新手,想创建一个打印函数,它会为列表中的每个项目重复自己(这只是一个示例,我的实际代码将用于其他内容)

cars.list = [Honda, Chevrolet, Suzuki, Ford]

price.list = [5600, 11500, 6600, 1020]

价格和汽车清单是相同的顺序,所以本田是 5600 美元,雪佛兰是 11500 等。我希望它为打印此内容的每辆汽车运行一个循环:

while count in cars.list:
       print("The car type is" Honda/Chev ect. "The price is" 5600, 11500 ect"

我希望它为cars.list 中的尽可能多的汽车重复循环,因为我将为用户添加一个添加更多汽车的选项,因此程序不能依赖于知道列表中的特定汽车并复制打印每个人的声明。它需要为每辆车重复打印语句,每次用列表中的下一个替换价格和车型。

【问题讨论】:

    标签: python list python-3.x printing count


    【解决方案1】:

    您可以使用 zip 在元组迭代器中将汽车和价格关联在一起,然后在打印您想要的内容时遍历这些元组。

    cars = ['Honda', 'Chevrolet', 'Suzuki', 'Ford']
    prices = [5600, 11500, 6600, 1020]
    
    for car, price in zip(cars, prices):
        print('The car type is {} and the price is {}.'.format(car, price))
    

    输出:

    The car type is Honda and the price is 5600.
    The car type is Chevrolet and the price is 11500.
    The car type is Suzuki and the price is 6600.
    The car type is Ford and the price is 1020.
    

    【讨论】:

    • 感谢 Karin,我对 Python 很陌生,你能告诉我 zip 和 tuples 是如何工作的,以及为什么它允许这种情况发生吗? :) 原谅我的菜鸟
    • 在链接到 Python 文档的答案中有一个指向 zip 的链接。元组基本上就像一个不可变的序列。基本上,当您调用zip(cars, prices) 时,返回的结构是元组的迭代器(将其视为您可以单步执行的内容):[('Honda', 5600), ('Chevrolet', 11500), ...]。然后在for 循环中,我们遍历该列表,将元组的“汽车”部分(元组的第一个元素)分配给变量car,并将元组的“价格”部分(第二个元素)分配给变量price。这让我们可以根据这两个值打印一个字符串。
    • 嘿卡琳,我如何允许 zip 将 maby 3 个列表配对或更多?程序如何知道重复代码与列表中的项目一样多?我需要与列表中的项目一样多次重复其他代码,例如为列表中的每个项目重复的 while/if 代码,为所有列表检索列表中相同位置的信息。这是因为在第 1 项的列表 1 中,它运行代码并从所有其他列表中检索位置 1 以用于此代码。
    • 我建议将此作为另一个问题发布。 cmets 部分不适用于此。
    猜你喜欢
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 2022-06-14
    • 2016-01-07
    • 2015-03-07
    • 2021-12-03
    相关资源
    最近更新 更多