【问题标题】:converting variables to dictionaries, Making variable string as value in a dictionary将变量转换为字典,将变量字符串作为字典中的值
【发布时间】:2018-08-14 13:40:04
【问题描述】:

我有大约 50 个网址命名 url1 .....url50 我想制作这些变量的字典 例如:

url1 = "https://example1.com"
url2 = "https://example2.com"
url3 = "https://example3.com"

。 . 我试过这个::

all_urls = {}
a= 'url'

for i in range(1,51):

    all_urls[a+str(i)] = a+str(i)

为此,我得到了正确的键,但我怎样才能将变量作为值。
输出:

{'url1': 'url1',
 'url10': 'url10',
 'url11': 'url11',
 'url12': 'url12',
 'url13': 'url13',
 'url14': 'url14',
 'url2': 'url2',
 'url3': 'url3',
 'url4': 'url4',
 'url5': 'url5',
 'url6': 'url6',
 'url7': 'url7',
 'url8': 'url8',
 'url9': 'url9'


期望的输出:

'url1' : 'https://example.com'
'url2' : 'https://example.org'
'url3' : 'https://example.com'


and so on..

【问题讨论】:

标签: python


【解决方案1】:

您可以在此处使用globals

例如:

url1 = "https://example1.com"
url2 = "https://example2.com"
url3 = "https://example3.com"

all_urls = {}
a= 'url'

for i in range(1,4):
    all_urls[a+str(i)] = globals()[a+str(i)]
print(all_urls)

输出:

{'url1': 'https://example1.com', 'url3': 'https://example3.com', 'url2': 'https://example2.com'}

【讨论】:

    【解决方案2】:

    使用locals()

    >>> url1 = "https://example1.com"
    >>> url2 = "https://example2.com"
    >>> url3 = "https://example3.com"
    >>> 
    >>> {k:v for k,v in locals().items() if k.startswith('url')}
    {'url3': 'https://example3.com', 'url1': 'https://example1.com', 'url2': 'https://example2.com'}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-20
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 2021-07-25
      相关资源
      最近更新 更多