我正在尝试打印具有同时迭代两个列表的格式的字符串。我提出的第一个解决方案是:
fruits = ["banana","apple","pineapple","coconut","strawberry","watermelon"]
names = ["pao", "sam", "charlie", "ray","gaby","caro"]
for x in names:
print("{} likes {}".format(x,fruits[names.index(x)]))
pao likes banana
sam likes apple
charlie likes pineapple
ray likes coconut
gaby likes strawberry
caro likes watermelon
并且有效,但是我想知道是否还有另一种方法可以做到这一点
您选择了最糟糕的直接方式。最好也对索引进行迭代:
for idx, who in enumerate(names):
print("{} likes {}".format(who ,fruits[idx]))
更好的是简单地遍历对的压缩列表:
for who, snack in zip(names, fruits):
print("{} likes {}".format(who, snack)