user = code.chan["#example"]["Someuser"]
# user would look something like:
{
'normal': True,
'voiced': False,
'op': False,
'count': 24,
'messages': [
{
'time': 1448847813,
'message': "This is my mesage"
},
{
'time': 1448847818,
'message': "And this is another"
}
]
}
我试图将“消息”中的项目放入列表中,以检查字符串是否与任何项目匹配。
如果需要更多信息,请与我们联系。
答案 0 :(得分:2)
我想你想要这个:
print [i['message'] for i in user['messages']]
或者,
print map(lambda x:x['message'],user['messages'])
输出:
['This is my mesage', 'And this is another']
要仅打印最后一项,您可以使用否定索引。如下所示:
print [i['message'] for i in user['messages']][-1]
输出:
And this is another
答案 1 :(得分:1)
你可以这样做:
for message in user['messages']:
if some_string == message['message']:
match = True
答案 2 :(得分:1)
如果你想搜索它们,你会想做类似的事情;
if any(search_string in i['message'] for i in user['messages']):
print 'found your query'
答案 3 :(得分:1)
好的我对这个问题感到有点困惑,但如果我想的正确,这是我的答案。
你有一个列表列表,我怀疑它是json格式,所以你需要像这样访问它
#fetch data
r = requests.get(wherever_you_fetch_them)
s = r.content.decode()
json_resp = json.loads(s)
succ = json_resp['messages']['message']
你可以创建一个循环,但我无法帮助你更多,因为我不知道有关输入数据的任何信息。