从id列表中删除单引号

tan*_*nky 2 python api

我需要附加/格式化带有API调用的id列表的URL.

但是,当我将列表放在API的末尾时:

https://api.twitter.com/1.1/users/lookup.json?user_id=%s'%a
Run Code Online (Sandbox Code Playgroud)

我只是得到一个空字符串作为响应.

我尝试将列表转换为字符串并删除方括号,执行以下操作:

a = str(followers['ids'])[1:-1]
Run Code Online (Sandbox Code Playgroud)

但我仍然遇到同样的问题.我假设它是由一开始时的单引号引起的.

我试过从字符串中删除撇号:

a.replace("'", "")
Run Code Online (Sandbox Code Playgroud)

现在我的想法已经用完了.

Sha*_*hin 12

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

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

>>> string = "he's a jolly good fellow"
>>> string = string.replace("'", "") 
>>> string
'hes a jolly good fellow'
Run Code Online (Sandbox Code Playgroud)

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

IDS需要用逗号分隔,所以你可能会想使用.join(),创建从ID列表的字符串.例:

>>> ids = ["1", "23", "123"]
>>> ",".join(ids)
'1,23,123'
Run Code Online (Sandbox Code Playgroud)

在您的情况下,假设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
Run Code Online (Sandbox Code Playgroud)

如果followers['ids']是整数列表而不是字符串,那么还有一些工作要做,因为.join()只能处理一系列字符串.这是将这些整数转换为字符串的一种方法(使用生成器表达式):

ids = ",".join(str(id) for id in followers['ids'])
Run Code Online (Sandbox Code Playgroud)