【问题标题】:How to use multiple lists in a random order but matching each time如何以随机顺序使用多个列表但每次都匹配
【发布时间】:2019-11-27 15:22:25
【问题描述】:

我正在使用 selenium 尝试将信息输入到不同的元素中(价格、信息等的文本框)。我正在尝试使用多个列表(一个用于价格、信息等),但要保持它们的顺序,以便标题与价格等匹配。 (基本上,我希望一遍又一遍地循环这个程序,以便它可以继续输入相同的信息,但会以随机顺序选择它,但也会匹配。所以我不会列出我想卖的价格的东西它用于)我也在循环这个程序,所以它会回到列表重新输入信息,所以也需要它不要一遍又一遍地使用列表中的相同项目。我尝试使用数组,但我不能似乎想通了。

作为我正在尝试做的一个例子。

text = [鞋子、摩托车、帽子、汽车、金币] 价格 = [10 美元、350 美元、5 美元、6500 美元、1450 美元]

当我输入这些时,我怎样才能将它们随机化,但又如何让它们与那里的价格保持一致?对不起,如果这令人困惑,我很难解释自己。

如果我使用random.choice 只是将它们混合起来,有什么想法吗?感谢您抽出宝贵时间阅读本文,我们将不胜感激!这是我的代码:

body_of_text = browser.find_element_by_class_name("Body")
prices = browser.find_element_by_class_name('Pricing')

body_of_text_list = ['This is a', 'example of ', 'text I can put in the body', 'for the pricing']
post_body = random.choice(body_of_text_list)
body_of_text.send_keys(post_body)

prices_list = ['500', '1000', '200', '850']
post_price = random.choice(prices_list)
prices.send_keys(post_price)

【问题讨论】:

  • 不知道您要做什么以及问题出在哪里。如果您想以随机顺序用完整个列表,请使用 random.shuffle( ) 将其随机播放并弹出 usedelements 直到列表为空。您应该尝试edit 在您的问题中添加更多上下文以使其更清楚。
  • 欢迎来到 StackOverflow。请提供MCVE 并详细说明您的预期结果。

标签: python arrays list loops


【解决方案1】:

您可以这样做 - 随机选择一个索引,然后用于索引两个列表。这样你得到一个随机索引,但价格和文本都使用相同的索引。这就是你所追求的吗?

代码:

body_of_text = browser.find_element_by_class_name("Body")
prices = browser.find_element_by_class_name('Pricing')

body_of_text_list = ['This is a', 'example of ', 'text I can put in the body', 'for the pricing']
prices_list = ['500', '1000', '200', '850']

i = random.choice(range(len(body_of_text_list)))

post_body = body_of_text_list[i]
body_of_text.send_keys(post_body)

post_price = prices_list[i]
prices.send_keys(post_price)

【讨论】:

    猜你喜欢
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多