27

我正在尝试从以下位置获取数字列表:

numbers= 1,2

到:

'1','2'

我试过",".join(str(n) for n in numbers)了,但它不会给出目标格式。

4

6 回答 6

80

那个怎么样?

>>> numbers=1,2
>>> numbers
(1, 2)
>>> map(str, numbers)
['1', '2']
>>> ",".join(map(str, numbers))
'1,2'
于 2012-06-21T13:34:34.153 回答
40
>>> numbers = 1,2
>>> print ",".join("'{0}'".format(n) for n in numbers)
'1','2'
于 2012-06-21T13:34:40.910 回答
10

用这个:

>>> numbers = [1, 2]
>>> ",".join(repr(str(n)) for n in numbers)
'1','2'
于 2012-06-21T13:34:32.033 回答
9

你的回答给出了什么?

>>> print ",".join(str(n) for n in numbers) 
1,2

如果你真的想要'1','2'那么做

>>> print ",".join("'%d'" % n for n in numbers)
'1','2'
于 2012-06-21T13:35:35.793 回答
0

对我来说,最简单的方法是......假设你有数字列表:

nums = [1,2,3,4,5]

然后,您只需通过像这样迭代它们将它们转换为单行中的字符串列表:

str_nums = [str(x) for x in nums]

现在您有了字符串列表,您可以将它们用作列表或将它们加入字符串:

",".join(str_nums)

简单的 :-)

于 2019-12-24T06:03:14.723 回答
0

这是一个小技巧。虽然不是那么老套,但它不太可能被比特腐烂,因为 JSON 是如此普遍。

import json
numbers = [1,2,3]
json.dumps(numbers, separators=(",",":"))[1:-1]
'1,2,3'

如果你对一些空格没问题,你可以把它缩短到

import json
numbers = [1,2,3]
json.dumps(numbers)[1:-1]
'1, 2, 3'
于 2022-01-28T20:43:42.753 回答