将浮点数转换为特定子列表中的整数
Converting float to integers in a specific sublist
让我们简短一点。
我有一个列表列表,例如
a = [[1.0, 2.0], [6, 8]]
我想做的是将第一个子列表的所有值转换为整数,因此数组将是
a = [[1, 2], [6, 8]]
你能告诉我怎么做吗?我已经为 map
苦苦挣扎,但我似乎找不到正确的用法。提前致谢。
您可以使用嵌套列表理解:
[[int(y) for y in x] for x in a]
或 map
:
[list(map(int, x)) for x in a]
您可以对第一个列表(需要转换)使用列表理解,并添加第二个列表(您不需要更改)。
print([[int(aa) for aa in a[0]], a[1]])
Out[46]: [[1, 2], [6, 8]]
与其他解决方案不同,这不会以任何方式更改列表的第二部分。
如果您只想更改第一个发送列表,一个选项
[a for a in map(lambda n, x: list(x if n else int(x) for x in a[n]), (0, 1), a)]
您可以将其分配给一个变量,然后打印到屏幕上。
b = [a for a in map(lambda n, x: list(x if n else int(x) for x in a[n]), (0, 1), a)]
print(b)
记住它只会转换左边列表中的值
让我们简短一点。
我有一个列表列表,例如
a = [[1.0, 2.0], [6, 8]]
我想做的是将第一个子列表的所有值转换为整数,因此数组将是
a = [[1, 2], [6, 8]]
你能告诉我怎么做吗?我已经为 map
苦苦挣扎,但我似乎找不到正确的用法。提前致谢。
您可以使用嵌套列表理解:
[[int(y) for y in x] for x in a]
或 map
:
[list(map(int, x)) for x in a]
您可以对第一个列表(需要转换)使用列表理解,并添加第二个列表(您不需要更改)。
print([[int(aa) for aa in a[0]], a[1]])
Out[46]: [[1, 2], [6, 8]]
与其他解决方案不同,这不会以任何方式更改列表的第二部分。
如果您只想更改第一个发送列表,一个选项
[a for a in map(lambda n, x: list(x if n else int(x) for x in a[n]), (0, 1), a)]
您可以将其分配给一个变量,然后打印到屏幕上。
b = [a for a in map(lambda n, x: list(x if n else int(x) for x in a[n]), (0, 1), a)]
print(b)
记住它只会转换左边列表中的值