首页 > 解决方案 > 有没有办法在python中使用带有2个变量的for循环?

问题描述

我试图从网站上抓取数据,但没有成功。我已经在终端中运行了测试,运行 for 循环来打印一个列表似乎没有问题。当我尝试在 for 循环中使用 2 个变量时,问题就来了。我曾尝试使用zip,但它似乎没有工作。由于我不知道如何使用 zip,因此我检查了 StackOverflow 中的其他页面,但似乎没有任何内容适用于我的案例。这是我想出的代码:

browser = webdriver.Chrome("C:\webdrivers\chromedriver.exe")
browser.get("https://www.worldometers.info/coronavirus/")
countries = browser.find_elements_by_tag_name("mt_a")
cases = browser.find_elements_by_tag_name("sorting_1")
[print(i.text, '-', j.text) for i, j in zip(countries, cases)]

当我尝试从我的 IDE 和终端运行程序时,什么也没发生。谁能帮我解决这个问题?所有帮助都得到了帮助。

标签: pythonpython-3.xselenium

解决方案


您应该首先使用更简单的数据进行测试,例如list1 = ['a', 'b']list2 = [11, 22]

怎么样:

list1 = ['a', 'b']
list2 = [11, 22]
for i, j in zip(list1, list2):
    print(i, j)

然后,我不确定您对列表中的打印内容有何期望?

foo = [print(i, j) for i, j in zip(list1, list2)]
print('foo =', foo)

返回以下内容:

a 11
b 22
foo = [None, None]

推荐阅读