【发布时间】:2016-06-14 13:01:47
【问题描述】:
我对编程很陌生(现在正在上我的第一堂课),所以请多多包涵格式问题和误解,或者缺少简单的修复方法。
我有一个带有推文数据的字典:“用户”作为键,然后“文本”作为它们的值。我的目标是找到他们回复另一个用户的推文,以@符号开头,然后创建一个包含作者用户和他回复的每个人的用户的新字典。这是我在下面的相当简单的 if 语句。我还能够使用 split 函数来隔离他们正在回复的人的用户名(该函数获取 @ 符号和它后面的下一个空格之间的所有文本)。
st='@'
en=' '
task1dict={}
for t in a,b,c,d,e,f,g,h,i,j,k,l,m,n:
if t['text'][0]=='@':
user=t['user']
repliedto=t['text'].split(st)[-1].split(en)[0]
task1dict[user]=[repliedto]
用户名 1 回复了用户名 2。 Username2 回复了 username3 和 username5。
我正在尝试创建一个 dict(称为 tweets1),其内容如下:
'user':'repliedto'
username1:[username2]
username2:[username3, username5]
等等
有没有更好的方法来隔离用户名,然后将它们放入新的字典中?这是推文数据的 2 条目示例:
{"user":"datageek88","text":"@sundevil1992 good question! @joeclarknet Is this on the exam?"},
{"user":"joeclarkphd","text":"Exam questions will be answered in due time @sundevil1992"}
我现在可以将它们添加到字典中,但它只会为每个“用户”保存一个“回复”,所以不是显示 username2 已回复 3 和 5,而是显示最新的 5 :
{'username1': ['username2'],
'username2': ['username5']}
再一次,如果我在这里的任何地方都严重禁止,我道歉,并请告诉我我做错了什么!
【问题讨论】:
标签: python list dictionary