我对编程非常陌生(现在带上我的第一堂课),请耐心等待格式问题和误解,或者错过简单修复。Python - 将词表添加到词典中(初学者)
我有一个推特数据的词典:'用户'作为键,然后'文字'作为他们的价值观。我的目标是找到他们回复给其他用户的推文,以@符号开头表示,然后制作一个新的词典,其中包含作者的用户以及他回复的每个人的用户。如果我有以下陈述,那是相当简单的。我还能够使用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。
我想创建一个字典(caled 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"}
我现在能够将它们添加到字典,但它只能救一个“repliedto”为每个“用户”,这样反而显示USERNAME2已回答双方3和5,它只是显示最新的一个,5:
{'username1': ['username2'],
'username2': ['username5']}
同样,如果我犯一个严重的在这里没有没有任何地方,我道歉,请告诉我我在做什么错误!
真棒!它几乎完全是我想要的。但是,有没有简单的方法可以让它忽略重复?例如,username2在2个不同的时间回复到username5,所以它在task1dict中显示username5两次。 –
是的。而不是使用列表。使用一套。一个集合就像列表,但它不能包含重复。我会修改我的答案 –
完美 - 非常感谢。 –