【问题标题】:How to DON'T return string in quotes如何不返回引号中的字符串
【发布时间】:2019-02-12 18:42:50
【问题描述】:

我有清单:

itemid = ['113222408782', '113223652945', '113222268092', '113223761722', '113222277037', '113223676589', '113214024190', '113227956444', '113222400375', '113222383960', '113223749386', '113213898511', '113223653433', '113214060057', '113212059543', '113223647852', '113212403974', '113222230789', '113212110156', '113213917508', '113223748917', '113212088893', '113213936773', '113212282559', '113222369037', '113223645004', '113214034011', '113223647208', '113222397481', '113212052765', '113212136602', '113212037895', '113222210185', '113223752305', '113212049744', '113212400978', '113212274566', '113218830085', '113203034623', '113222199167', '113223648988', '113223646543', '113223651519', '113222200831', '113213996789', '113214000484', '113213890605', '113222232853', '113222298617', '113223753658', '113222238111', '113194336951', '113223631876', '113222242464', '113212123303', '113222215450', '113214000567', '113223642160', '113223639750', '113214060070', '113223644511', '113194332243', '113212139900', '113222207007', '113222374260', '113223719876', '113194339799', '113223677943', '113212417158', '113212433693', '113227977319', '113223607151', '113212409228', '113215809743', '113214051350']

此列表包含 75 个值。我正在使用以下方法将此列表剪切为 20 个项目列表:

while len(itemid) > 0:
slice = itertools.islice(itemid, 20)
ha = []
for x in slice:
    ha.append(format(x))
    var1 = ','.join(ha)

var1 返回具有 20 个值的字符串,如下所示:

113222408782,113223652945,113222268092,113223761722,113222277037,113223676589,113214024190,113227956444,113222400375,113222383960,113223749386,113213898511,113223653433,113214060057,113212059543,113223647852,113212403974,113222230789,113212110156,113213917508

然后我就卡住了:

我将它用于 eBay api,我想执行以下命令:

api_request = {'ItemID': var1}

然后它返回:

{'ItemID': '113223748917,113212088893,113213936773,113212282559,113222369037,113223645004,113214034011,113223647208,113222397481,113212052765,113212136602,113212037895,113222210185,113223752305,113212049744,113212400978,113212274566,113218830085,113203034623,113222199167'}

但我需要返回不带引号的字符串 var1:

{'ItemID': 113223748917,113212088893,113213936773,113212282559,113222369037,113223645004,113214034011,113223647208,113222397481,113212052765,113212136602,113212037895,113222210185,113223752305,113212049744,113212400978,113212274566,113218830085,113203034623,113222199167}

我该怎么做?

【问题讨论】:

  • {'ItemID': 1,2,3} 格式无效。 {'ItemID': [1,2,3]} 有效。如果你想要 1,2,3 作为字符串而不是数组,那么 {'ItemID': '1,2,3'} 就是你想要的。
  • 对,我需要这种格式 {'ItemID': [1,2,3]}。但是如果我使用 {'ItemID': [var1]},它将返回 {'ItemID': ['1,2,3']} 仍然带有引号。而我只是想找到摆脱这些报价的方法
  • 你能解释一下为什么要删除引号

标签: string list return quotes


【解决方案1】:

引号实际上不是字符串的一部分,它们只是表示它是一个字符串。因此,您无法删除它们

【讨论】:

  • 有没有办法将此字符串转换成某种东西,这样它就不会表示它是一个字符串并且不会打印这个引号?
  • 让你不能因为它是一个字符串。它表示它是一个字符串。你不能让一个字符串不是一个字符串我不知道我怎样才能让它变得更简单。你只是不这样做。这是一种视觉表现
【解决方案2】:

您不需要将数组转换为字符串,您必须像这样传递整个对象:

var1 = itertools.islice(itemid, 20)
api_request = {'ItemID': var1}

如果需要将其作为数组传递,为什么要尝试将其转换为格式?

问候, 伊戈尔·奎里诺

【讨论】:

    猜你喜欢
    • 2016-07-26
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 2023-03-09
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多