将变量转换为字典,将变量字符串作为字典中的值

时间:2018-08-14 13:40:05

标签: python

我大约有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..

2 个答案:

答案 0 :(得分: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'}

答案 1 :(得分:-1)

使用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'}