从字符串数组Python中提取

时间:2017-04-04 20:29:31

标签: python json

我在python中有一个数组,在索引0,1,2处有以下元素,我试图将值作为数组返回到使用flask的html。但是,我不需要帮助将值返回到html。我需要帮助抓住阵列中的某些东西。例如,我在数组中有以下内容

[<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'}>]

有没有办法将Developer,Publisher,ReleaseDate,Title作为键,然后将其余信息放在一个单独的数组中?

1 个答案:

答案 0 :(得分:1)

正如一位评论员所说,由于“点击”标签,你的“数组”不是有效的python列表。但假设您有一个字典列表,并且您想要将密钥和其余数据抓取到一个单独的列表中,您可以使用defaultdict并附加如下所示。

# 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']