我需要附加/格式化带有API调用ID列表的URL。
但是,当我将列表放在API的末尾时:
https://api.twitter.com/1.1/users/lookup.json?user_id=%s'%a
我只是得到一个空字符串作为回应。
我尝试将列表转换为字符串并删除方括号,执行:
a = str(followers['ids'])[1:-1]
但我仍然遇到同样的问题。我假设它是由一开始的单引号引起的。
我尝试从字符串中删除撇号:
a.replace("'", "")
现在我已经没有想法了。
答案 0 :(得分:12)
我尝试从字符串中删除撇号...
您可以使用s = s.replace("'", "")
从字符串中删除撇号。 .replace()
返回一个新字符串,但不会更改原始字符串,因此您将存储返回的字符串。
>>> string = "he's a jolly good fellow"
>>> string = string.replace("'", "")
>>> string
'hes a jolly good fellow'
但我认为这不是你的问题。
ids need to be comma separated,因此您可能希望使用.join()
从ID列表中创建字符串。例如:
>>> ids = ["1", "23", "123"]
>>> ",".join(ids)
'1,23,123'
在您的情况下,假设followers['ids']
包含id列表作为字符串,您可以使用以下命令生成您的网址:
ids = ",".join(followers['ids']) # generate string of ids (comma separated)
url = "https://api.twitter.com/1.1/users/lookup.json?user_id=%s" % ids
如果followers['ids']
是整数列表而不是字符串,那么还有一些工作要做,因为.join()
仅适用于一系列字符串。这是将这些整数转换为字符串的一种方法(使用generator expression):
ids = ",".join(str(id) for id in followers['ids'])