从字符串数组中提取Python
问题描述:
我在python中有一个数组,它在索引0,1,2处具有以下元素,并且我试图使用flask将数组的值返回为html。不过,我不需要帮助将值返回给html。我需要帮助从阵列中抓取某些东西。例如,我已在阵列从字符串数组中提取Python
[<Hit {'Developer': 'Office Koukan', 'Publisher': 'Shouei', 'ReleaseDate': 'March 18, 1994', 'Title': 'Idea no Hi'}>,
<Hit {'Developer': 'Jorudan', 'Publisher': 'VAP', 'ReleaseDate': 'November 18, 1994', 'Title': 'Pachinko Hi Hisshouhou'}>,
<Hit {'Developer': 'Beam Software', 'Publisher': 'Hi Tech Expressions', 'ReleaseDate': 'October 1, 1993', 'Title': 'hunThe Hunt for Red October'}>]
在下面有没有办法抓住开发商,发行商,RELEASEDATE,标题为键,然后的信息在一个单独的数组的休息吗?
答
正如一位评论员所说,你的“数组”由于“hit”标签而不是有效的python列表。但假设你有一个词典列表,并且你想把键和其他数据放到一个单独的列表中,你可以使用defaultdict和append,如下所示。
# assuming your data is a list of dictionaries
s = [{'Developer': 'Office Koukan', 'Publisher': 'Shouei', 'ReleaseDate': 'March 18, 1994', 'Title': 'Idea no Hi'},
{'Developer': 'Jorudan', 'Publisher': 'VAP', 'ReleaseDate': 'November 18, 1994', 'Title': 'Pachinko Hi Hisshouhou'},
{'Developer': 'Beam Software', 'Publisher': 'Hi Tech Expressions', 'ReleaseDate': 'October 1, 1993', 'Title': 'hunThe Hunt for Red October'}]
from collections import defaultdict
d = defaultdict(list)
for i in s:
for k,v in i.items():
d[k].append(v)
# print out the items
for k,v in d.items():
print('{}: {}').format(k,v)
结果:
ReleaseDate: ['March 18, 1994', 'November 18, 1994', 'October 1, 1993']
Publisher: ['Shouei', 'VAP', 'Hi Tech Expressions']
Developer: ['Office Koukan', 'Jorudan', 'Beam Software']
Title: ['Idea no Hi', 'Pachinko Hi Hisshouhou', 'hunThe Hunt for Red October']
Python有列表,而不是数组。你是否在使用数组的扩展包(例如numpy)?您发布的内容不是合法的Python列表; **
Prune
是的,有办法从可用数据中“抓取”信息。但是,在我们知道当前的数据表单和所需表单之前,我们很难为您提供帮助。另外,我们希望您已经尝试过:发布最佳尝试以及问题描述。 “有人可以为我写这段代码吗?”没有得到积极的回应。 – Prune