You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从含URL的字符串中提取Python字典(支持嵌套)

嘿,我来帮你搞定这个提取字典的问题!

你说用split()方法无效,大概率是因为如果URL里包含空格(或者字典内部有空格),split会把内容拆得七零八落,没法准确分离出URL和字典部分。更可靠的方法是利用字典列表被方括号[]包裹这个特征,直接定位到方括号的位置来提取:

步骤1:提取字典列表的字符串部分

我们可以用字符串的find()方法找到第一个[的索引,然后从这个位置开始截取到字符串末尾,就能拿到完整的字典列表字符串:

data = "https:google.com [{'Foo': u'1002803', 'Bar': 'value'},{'Foo': u'1002803', 'Bar': 'value'}]"

# 定位第一个'['的起始位置
start_index = data.find('[')
# 截取从start_index到结尾的部分,得到字典列表字符串
dict_list_str = data[start_index:]

步骤2:将字符串转换为Python可操作的对象

因为你的字符串里包含Python 2风格的u'...' Unicode前缀,用json.loads()会报错,推荐用ast.literal_eval()来解析——它能安全处理Python的字面量结构,包括嵌套字典:

import ast

# 解析为Python列表(里面是字典)
dict_list = ast.literal_eval(dict_list_str)

# 测试一下,打印第一个字典的Foo值
print(dict_list[0]['Foo'])  # 输出: 1002803

这种方法不管URL里有没有空格、字典有没有嵌套结构,只要字典列表是从第一个[开始到最后一个]结束,都能准确提取出来,比split()靠谱多啦!

内容的提问来源于stack exchange,提问作者SIM777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:25:16