询问如何自动从数组列表中获取单词

时间:2016-01-25 08:19:16

标签: python python-2.7

作为标题,我是网络爬虫diigo,并且有很多列表,我成为了set()的列表。就像这样:

data = [ ['spanish', 'web2.0', 'e-learning', 'education', 'social', 'spain', 'tools', 'learning', 'google', 'e-learning2.0'],   ['education', 'technology', 'learning', 'classroom', 'students', 'web2.0'], ['education'],  ['technology'] ]

做点什么计算

search_table = {}

for i, tag_list in enumerate(data):
    for tag in tag_list:
        if tag not in search_table:
            search_table[tag] = set()
        search_table[tag].add(i)  

# How many people have `technology`?
print(len(search_table["technology"]))
# How many people have `education`?
print(len(search_table["education"]))
# How many people have both `technology`, `education`?
print(len(search_table["technology"] & search_table["education"]))

数据有很多标签,我想这样做 - > print(len(search_table [“技术”]))< - 技术可以自动改变下一个世界喜欢教室。

我真的不知道怎么做,我只想是

for u in user_data:

   print u

但是如何添加要打印的世界(len(search_table [“ u ”]))

真诚的鲍勃

2 个答案:

答案 0 :(得分:1)

我想我明白你的意思。你快到了那里:

user_data = ["technology", "classroom"]
for u in user_data:
    print(len(search_table[u]))

将首先打印search_table["technology"]中的项目数,然后打印search_table["classroom"]中的项目数。

答案 1 :(得分:0)

当您使用列表时,您可以使用数字访问列表中的元素,这样您就不需要更改单词' code'。你只需要这样访问它:

>>> user_data = ['code','java','learn']
>>> user_data[0]
'code'
>>> 

通常情况下,当您访问user_data [" code"]等元素时,因为您正在访问字典中的键,如下所示:

>>> user_data = {'code':'java, python, ruby'}
>>> user_data['code']
'java, python, ruby'

根据您存储信息的方式,将影响您访问该存储信息的方式。考虑到您拥有用户数据,您可能希望将它们存储在以下列表中的词典中:

[
  {'name': 'bob', 'code': 'java, python', 'school':'StackOU'},
  {'name': 'bobina', ...
]

您可以访问bob的编码技能,例如:

>>> user_data = [
...       {'name': 'bob', 'code': 'java, python', 'school':'StackOU'},
...     ]
>>> user_data[0]['code']
'java, python'