【发布时间】:2020-10-28 12:50:18
【问题描述】:
我在一个文本文件中有一个数据集,我读取它然后拆分它的行并创建了一个列表列表,如
[['1 2 3'], ['4 5 6'], ... , ['7 8 9']]
如何将此列表转换为这样的整数列表?
[[1,2,3],[4,5,6],...,[7,8,9]]
【问题讨论】:
-
@meee 告诉我,你觉得我的回答怎么样。因为我要删除我没用的答案
我在一个文本文件中有一个数据集,我读取它然后拆分它的行并创建了一个列表列表,如
[['1 2 3'], ['4 5 6'], ... , ['7 8 9']]
如何将此列表转换为这样的整数列表?
[[1,2,3],[4,5,6],...,[7,8,9]]
【问题讨论】:
这应该对你有帮助:
lst = [['1 2 3'], ['4 5 6'],['7 8 9']]
lst = [elem.split(' ') for lstt in lst for elem in lstt]
lst = [[int(num) for num in lstt[:]] for lstt in lst]
输出:
>>> lst
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
【讨论】:
[list(map(int, elem.split(' '))) for lstt in lst for elem in lstt] 这就是地图的用途。
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] 并且你得到了一些不同的东西,因为你不是在原始列表上运行它,而是在一个已经处理的列表上运行它。使用 one-liners 的原因是为了避免可能导致此类错误的多个中间分配。
.split() 行XD。但是,是的。这是实现相同输出的另一种方式。
raw = [['1 2 3'], ['4 5 6'], ['7 8 9']]
data = [[int(i) for i in x[0].split(' ')] for x in raw]
【讨论】:
list1 = [['1 2 3'], ['4 5 6']]
for i in range(len(list1)):
list1[i] = [int(e) for e in " ".join(list1[i]).replace("\'","").split()]
print(list1)
【讨论】:
我编写了一个基本代码,将包含字符串元素的列表转换为 int 元素,希望下面的代码可以解决您的问题
lst = [['1 2 3'], ['4 5 6'],['7 8 9']]
lst2 = [elem.split(' ') for lst_ele in lst for elem in lst_ele]
final_list = []
for lists in lst2:
test_list = list(map(int, lists))
final_list.append(test_list)
print(final_list)
【讨论】: