我有一些用户以下列格式输入到程序中的数字:
input = 4:-17:12:-23
我想用冒号分割它们,所以输出看起来像这样:
output = [[4], [-17], [12], [-23]]
我尝试了以下代码,但我没有得到我需要的输出。
output = []
input.strip()
input.split(':')
output.append(input)
print(output)
它只输出:
['4:-17:12:-23']
答案 0 :(得分:3)
尝试:
>>> [[x] for x in map(int, input.split(':'))]
[[4], [-17], [12], [-23]]
以下解决方案是在@Chris_Rands发表评论后的动机。
>>> list(map(lambda x: [int(x)], data.split(':')))
[[4], [-17], [12], [-23]]
或者更好,只有list comprehension
>>> [[int(x)] for x in input.split(':')]
[[4], [-17], [12], [-23]]
答案 1 :(得分:1)
您可以在此处使用list comprehension
:
>>> [[int(i)] for i in input.split(':')]
[[4], [-17], [12], [-23]]