如何使用其索引打印数组中的变量

How to print a variable within an array using its index

我正在练习 for in 循环,但遇到了问题。

places = ["phuket", "athens", "doha"]

for places in range(5):
    if places == 0:
        print("thailand," + places 0 + "is a cool place")
    else:
        print("not thailand")

当我尝试此操作时,出现 'places 0' 语法错误。我想要它打印 泰国,普吉岛​​,是个很酷的地方。但无论我如何格式化位置 0(0 在 [] 中,它在 () 中)我总是不断收到语法错误。

当您将此用于语法时,它 returns 是值而不是索引,因此您的测试应该是

if place == "phuket":
  

您需要在 for 循环中使用 places 列表,并使用正确的语法检查 if 条件:

places = ["phuket", "athens", "doha"]

for place in places:
    if place == "phuket":
        print("thailand, " + place + " is a cool place")
    else:
        print("not thailand")

如果你使用enumerate你可以获得for循环的索引。 i 将是 0, 1, 2place 将是 phuket, athens , 多哈。 您可以根据需要使用不同的逻辑。

places = ["phuket", "athens", "doha"]

for i,place in enumerate(places):
    if i == 0:
        print("thailand," + place + "is a cool place")
    else:
        print("not thailand")

你可以在这里了解更多 - https://realpython.com/python-enumerate/

使用 places[0] 并将 for 循环变量命名为 places 以外的名称,这样您就不会有冲突的名称,例如:for i in range(5) 是更标准的命名约定 – - Nick Parsons。这是正确答案:

places = ["phuket", "athens", "doha"]

for index in range(5):
    if index == 0:
        print("thailand, " + places[0] + "is a cool place")
    else:
        print("not thailand")

下面两个最简单的方法可以轻松解决你的问题:

这是方法

第二种方法