2

我需要使用 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("'", "")

现在我已经没有想法了。

4

1 回答 1

12

我尝试从字符串中删除撇号...

您可以使用删除字符串中的撇号s = s.replace("'", "").replace()返回一个新字符串,但不会更改原始字符串,因此您将存储返回的字符串。

>>> string = "he's a jolly good fellow"
>>> string = string.replace("'", "") 
>>> string
'hes a jolly good fellow'

但我不认为这不是你的问题。

id 需要用逗号分隔,因此您可能希望使用 a.join()从您的 id 列表中创建字符串。例子:

>>> ids = ["1", "23", "123"]
>>> ",".join(ids)
'1,23,123'

在您的情况下,假设followers['ids']包含一个 id 列表作为字符串,您可以使用以下方法生成您的 URL:

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()仅适用于字符串序列。这是将这些整数动态转换为字符串的一种方法(使用生成器表达式):

ids = ",".join(str(id) for id in followers['ids'])
于 2012-09-26T15:03:29.137 回答