【发布时间】:2017-03-24 22:59:55
【问题描述】:
获取虚构列表 A 并给出此关键字进行扫描(id、messageid、名字、类型、文本)并给出以下项目(列表中以粗体标记的那些)是相关的,而其他则不相关。 A =
['ok', 'true', 'result', 'updateid', '230999144', 'message', 'messageid', '26', 'from', 'id', '250313842', 'firstname ', 'John', 'lastname', 'Doe', 'chat', 'id', '250313842', 'firstname', 'John', 'lastname', 'Doe', 'type', 'private', 'date', '2490213676', 'text', '/start', 'entities', 'type', 'botcommand', 'offset', '0', 'length', '6', 'updateid', ' 230999145', 'message', 'messageid', '27', 'from', 'id', '250313842' , 'firstname', 'John', 'lastname', 'Doe', 'chat', 'id', '250313842', 'firstname', 'John' , '姓氏', 'Doe', 'type', 'private', ' date', '2490213690', 'text', 'Damn', 'it', 'feels' , 'good', 'to', 'be', 'a', 'gangsta ']
我们可以看到这个列表中有很多冗余,但事实是这种重复可能发生 N 次,而不仅仅是本例中的两次。后面的结果总是与“扫描”相关的结果。如何最好地访问它们?我不想使用多个“索引”以使代码尽可能高效。
请记住,所需的输出是这样的:
messageid: 27
userid: 250313842
username: John Doe
usertext: "Damn it feels good to be a gangsta"
有问题的列表来自聊天机器人的 https 推送门,它作为文本字符串推送,其原始形式为:
{
"result": [
{
"update_id": 230999144,
"message": {
"from": {
"id": 250313842,
"first_name": "John",
"last_name": "Doe"
},
"entities": [
{
"length": 6,
"type": "bot_command",
"offset": 0
}
],
"text": "/start",
"date": 2490213676,
"message_id": 26,
"chat": {
"id": 250313842,
"type": "private",
"first_name": "John",
"last_name": "Doe"
}
}
},
{
"update_id": 230999145,
"message": {
"date": 2490213690,
"chat": {
"id": 250313842,
"type": "private",
"first_name": "John",
"last_name": "Doe"
},
"message_id": 27,
"text": "Damn it feels good to be a gangsta",
"from": {
"id": 250313842,
"first_name": "John",
"last_name": "Doe"
}
}
}
],
"ok": true
}
提前感谢您帮助解决这个问题。
【问题讨论】:
-
你能详细说明你想要的输出吗?
-
我的直觉告诉我,你在得到这个列表之前所做的任何事情都可以做得更好,以获得更易于管理的数据结构。
-
这看起来 JSON 是由醉汉解析器读取的。
-
这是您不想删除的有用信息。能发一下原文吗?
-
我拒绝接受这样的观念,即在任何合理的衡量标准下,这个字符串列表比解析的数据结构更易于管理。
标签: python string list chatbot