gpt4 book ai didi

python - 如何计算定义函数的输出?

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:07 24 4
gpt4 key购买 nike

我是 Python 新手,正在尝试找出一种相当简单的方法来计算已定义函数的输出。我想通过定义一个函数来计算回复给定用户名的唯一用户的数量。

st='@'
en=' '
task1dict={}
for t in a,b,c,d,e,f,g,h,i,j,k,l,m,n:
if t['text'][0]=='@':
print('...'),print(t['user']),print(t['text'].split(st)[-1].split(en)[0])
user=t['user']
repliedto=t['text'].split(st)[-1].split(en)[0]
task1dict.setdefault(user, set())
task1dict[user].add(repliedto)
task1dict['realDonaldTrump'].add('joeclarkphd')

当我输入时,这将返回以下内容

print(task1dict)

{'datageek88': {'fundevil', 'joeclarknet', 'joeclarkphd'},
'fundevil': {'datageek88'},
'joeclarkphd': {'datageek88'},
'realDonaldTrump': {'datageek88', 'joeclarkphd'},
'sundevil1992': {'datageek88', 'joeclarkphd'}}

然后我想打印所有回复某个用户的 Twitter 用户,例如,所有回复 datageek88 的人都是由

def print_users_who_got_replies_from(tweeter):
for z in task1dict:
if tweeter in task1dict[z]:
print(z)

当我输入时,这会打印出以下内容:

print_users_who_got_replies_from('datageek88')

fundevil
joeclarkphd
sundevil1992
realDonaldTrump

现在,我想通过定义一个函数来计算回复数量,然后打印有多少人回复了用户。这个函数应该返回数字(4)的答案,但我似乎无法让该部分工作,有什么建议或帮助吗?谢谢!我尝试过使用 len() 函数,但似乎无法让它工作,尽管它可能是答案。

最佳答案

经验法则:当您有一个可以打印许多内容的函数时,您会想“现在我该如何与打印的这些值进行交互?”,这是一个信号,表明您应该append 将这些值添加到列表中而不是打印它们。

在这种情况下,对代码最直接的修改是

def get_users_who_got_replies_from(tweeter):
result = []
for z in task1dict:
if tweeter in task1dict[z]:
result.append(z)
return result

seq = get_users_who_got_replies_from('datageek88')
for item in seq:
print(item)
print("Number of users who got replies:", len(seq))

额外的高级方法:严格来说,您不需要一个完整的函数来根据另一个可迭代的内容创建和返回一个列表。您可以通过列表理解来做到这一点:

seq = [z for z in task1dict if 'datageek88' in task1dict[x]]
for item in seq:
print(item)
print("Number of users who got replies:", len(seq))

关于python - 如何计算定义函数的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35754203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com