l='2,3,4,5,6'
期望:
[2,3,4,5,6]
在python中如何转换为以上格式
第一个是一串由一些数字组成的字符串,我希望得到一列相同的数字。
答案 0 :(得分:4)
就这么简单:
print [int(s) for s in l.split(',')]
答案 1 :(得分:3)
您可以使用list comprehension:
l='2,3,4,5,6'
result = [int(i) for i in l.split(',')]
print(result)
输出
[2, 3, 4, 5, 6]
以上等效于以下for
循环:
result = []
for i in l.split(','):
result.append(i)
您也可以使用map:
l = '2,3,4,5,6'
result = list(map(int, l.split(',')))
print(result)
输出
[2, 3, 4, 5, 6]
答案 2 :(得分:3)
通过list comprehension尝试这种简单直接的方法。
list_of_numbers = [int(i) for i in l.split(",")]
或者,您可以修复字符串,使其成为“字符串列表”,然后使用literal_eval
:
import ast
s = "[" + l + "]'
list_of_numbers = ast.literal_eval(s)
答案 3 :(得分:2)
map(int, l.split(','))
示例:
l='2,3,4,5,6'
print(map(int, l.split(',')))
输出
[2, 3, 4, 5, 6]
答案 4 :(得分:1)
您还可以像这样使用地图:
list(map(int,[i for i in l if i.isdigit()]))
答案 5 :(得分:0)
给出:l='2,3,4,5,6'
惰性方式:output=eval('['+l+']')
Python 3.6+(使用fStrings)的惰性方式:output=eval(f"[{l}]")