我试图将字符串分配给变量,然后从那些变量中随机选择。
问题是我找不到方法:
理想情况下,我想要这样的东西:
class Websites:
google = "https://google.com"
twitter = "https://twitter.com"
instagram = "https://instagram.com"
,然后可以从以下选项中进行选择:
print(random.choice(Websites))
我还尝试创建伪开关语句:
from project.config import Websites
def switch_website(random_site):
_ = Websites
return {
1: _.google
2: _.twitter,
3: _.instagram
}[random_site]
但这需要我将变量名同时放在类和字典中,这是有问题的,因为最终列表将很大,并且以后需要用其他站点进行修改。
抱歉,如果我使用了错误的术语,我昨天开始使用Python。
感谢您的帮助!
答案 0 :(得分:3)
您可以为此使用字典:
import random
Websites = {
"google": "https://google.com",
"twitter": "https://twitter.com",
"instagram": "https://instagram.com",
}
print(random.choice(list(Websites.items())))
如果只需要URL部分,请使用values()
而不是items()
:
print(random.choice(list(Websites.values())))
答案 1 :(得分:0)
如果您只需要从多个值中随机获取,请创建这些值的列表并使用随机选择。
import random
google = "https://google.com"
twitter = "https://twitter.com"
instagram = "https://instagram.com"
site_list = [google, twitter, instagram]
print(random.choice(site_list))
答案 2 :(得分:0)
在我看来您正在寻找字典。它们使您可以像示例一样存储键/值对(肯定不适合使用此类,也许您习惯于用Java或其他方式定义所有内容)。您可以像这样完成您的示例(我敢肯定,还有其他方法):
import random
websites = {
'google': "https://google.com",
'twitter': "https://twitter.com",
'instagram': "https://instagram.com"
}
website_name_list = list(websites.keys())
print(website_name_list)
random_website_name = random.choice(website_name_list)
print(random_website_name)
corresponding_url = websites[random_website_name]
print(corresponding_url)
示例输出为
['twitter', 'google', 'instagram']
google
https://google.com