我终于过滤了我的脚本以输出我想要的内容。 它有效......一半!
在这里一些了不起的人的帮助下,我设法创建了一个自动接受朋友对Snapchat的请求的脚本,虽然我想在其中有一个计数器,可以看到有多少确认的朋友。
虽然这不是最大的问题,但我已经修好了。 使用以下代码;
for friend in friends:
if friend['type'] == 0:
names = friend[u'name']
print names
它可以很好地打印名称,例如我的结果是:
test.account2
test.account3
test.account4
etc...
到目前为止,这太棒了。
现在我想算一下,实际上有多少朋友打印这个号码。
所以在这种情况下,数字将是3(显然,不考虑"等等#34;记住)
尽管如此,我已经尝试过,len,count,str.count和许多其他事情,但它似乎并没有起作用。
首先,它打印出3次,我得到了,因为它的缩进。
但是将凹痕移回去,会让它“忘记”#34; names
到目前为止,我唯一要做的就是以下列方式打印所有3个名字的字母数:
13
13
13
我在这里忽略了什么,或者只是愚蠢?
非常感谢帮助!
答案 0 :(得分:3)
您的names
变量不是数组。它只是存储当前朋友项的名称,因为friends
已循环。因此,您也可以3次获得13的长度,因为它只是遇到的特定名称字符串的字符数。
要获得一系列名称,您可以这样做:
names = []
for friend in friends:
if friend['type'] == 0:
names.append(friend[u'name'])
或更简单:
names = [friend[u'name'] for friend in friends if friend['type'] == 0]
然后len(names)
将提供姓名计数。
答案 1 :(得分:3)
您看到的是13
,因为这是每个名称test.account2
等的长度。这是因为您在len
上调用了names
len(names)
这不是你想要的。
初始化for循环上方的列表:name_list = []
并将名称附加到此列表中:
name_list = []
for friend in friends:
if friend['type'] == 0:
names = friend[u'name']
print names
name_list.append(names)
print 'Added %d names' % (len(name_list))
最终print
现在应根据您的示例转储3
。