我正在使用一个字典,它的行为在很大程度上类似于字符串,因为它在字典中有双引号,包含键和值。我希望能够索引字典,但是语音标记阻止我这样做
我搜索并找到了类似的文章,但语音标记是在键上的,而不是一个包含字典的大小
以下是我所拥有的:
{'0': {0: "{'address_components': [{'long_name': '238', 'short_name': '238', "
"'types': ['street_number']}, {'long_name': 'Lincoln Street', "
"'short_name': 'Lincoln St', 'types': ['route']}, {'long_name': "
"'Hahnville', 'short_name': 'Hahnville', 'types': ['locality', "
"'political']}, {'long_name': 'St. Charles Parish', 'short_name': "
"'St Charles Parish', 'types': ['administrative_area_level_2', "
"'political']}, {'long_name': 'Louisiana', 'short_name': 'LA', "
"'types': ['administrative_area_level_1', 'political']}, "
"{'long_name': 'United States', 'short_name': 'US', 'types': "
"['country', 'political']}, {'long_name': '70057', 'short_name': "
"'70057', 'types': ['postal_code']}], 'formatted_address': '238 "
"Lincoln St, Hahnville, LA 70057, USA', 'geometry': {'bounds': "
"{'northeast': {'lat': 29.9765067, 'lng': -90.4105124}, 'southwest': "
"{'lat': 29.9763491, 'lng': -90.4107531}}, 'location': {'lat': "
"29.97642, 'lng': -90.4106589}, 'location_type': 'ROOFTOP', "
"'viewport': {'northeast': {'lat': 29.9777768802915, 'lng': "
"-90.4092837697085}, 'southwest': {'lat': 29.9750789197085, 'lng': "
"-90.4119817302915}}}, 'place_id': 'ChIJu32jB3_PIIYRMF2Utx14Ouc', "
"'types': ['premise']}"}}
我试过的是:
import ast
final_s = [ast.literal_eval(i) for i in p]
返回错误的预期结果
预期结果应去除双重语音标记:
{'0': {0: {'address_components': [{'long_name': '238', 'short_name': '238', 'types':
['street_number']}, {'long_name': 'Lincoln Street', 'short_name': 'Lincoln St',
'types': ['route']}, {'long_name': 'Hahnville', 'short_name': 'Hahnville', 'types':
['locality', 'political']}, {'long_name': 'St. Charles Parish', 'short_name': 'St.
Charles Parish', 'types': ['administrative_area_level_2', 'political']},
{'long_name': 'Louisiana', 'short_name': 'LA', 'types':
['administrative_area_level_1', 'political']}, {'long_name': 'United States',
'short_name': 'US', 'types': ['country', 'political']}, {'long_name': '70057',
'short_name': '70057', 'types': ['postal_code']}], 'formatted_address': '238 Lincoln
St, Hahnville, LA 70057, USA', 'geometry': {'bounds': {'northeast': {'lat':
29.9765067, 'lng': -90.4105124}, 'southwest': {'lat': 29.9763491, 'lng':
-90.4107531}}, 'location': {'lat': 29.97642, 'lng': -90.4106589}, 'location_type':
'ROOFTOP', 'viewport': {'northeast': {'lat': 29.9777768802915, 'lng':
-90.4092837697085}, 'southwest': {'lat': 29.9750789197085, 'lng':
-90.4119817302915}}}, 'place_id': 'ChIJu32jB3_PIIYRMF2Utx14Ouc', 'types':
['premise']}}}
并允许我在列表中编制索引:
p[0]
嵌套字典中有两个级别(
'0'
和0
):输出:
如果您不关心安全性(取决于您如何获取这些字符串)。可以对字符串使用
exec()
命令例如,如果您想从示例中获取信息(称为
input
,您可以执行以下操作)现在你可以在
real_dict
上做任何你想做的事情,就像它是一本普通的字典一样打印出真实内容将导致:
现在,您可以通过字典理解对整个输入字典执行此操作
相关问题 更多 >
编程相关推荐