如何将字符串列表中的字符串转换为Python中的int列表?

时间:2017-05-14 19:48:33

标签: python

所以我已经将txt文件中的行输出到带有函数的列表中,它看起来像这样

List = ['5 15 1', '18 18 5', '16 5 7', '12 18 9', '6 3 7', '20 18 15']

每个包含3个数字的元素是一个字符串,我想将这些元素转换为int的列表。

这是我的功能

with open("data.txt") as file:
    List = [line.strip() for line in file]
    print(List)

任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

res = list()
for s in List:
    res += [int(x) for x in s.split()]

如果你想要一个清单列表,你可以这样做:

res = list()
for s in List:
    res.append([int(x) for x in s.split()])

答案 1 :(得分:1)

你可以做到

>>>map(lambda x: map(int, x.split()), List)
[[5, 15, 1], [18, 18, 5], [16, 5, 7], [12, 18, 9], [6, 3, 7], [20, 18, 15]]

答案 2 :(得分:0)

您只需将其转换为唯一字符串,然后将其重新转换为列表:

my_string = " ".join(my_list)
my_list = my_string.split(" ")

这是一个int的列表,您可以选择列表列表:

new_list = []
for i in range(len(my_list))
    new_list.append(my_list[i].split(" "))