我有一个列表,其中又有两个列表,两个列表中都有两个元组.
lst = [
[('Jade', 0.9877607), ('Tom', 0.5728347)],
[('Jackson', 0.6892309), ('Hazel', 0.6837777)]
]
我想将所有4个浮点值四舍五入为2个d.p.我是否必须将每个元组转换为一个列表,然后对其进行更改,还是有更简单的方法?
谢谢
我有一个列表,其中又有两个列表,两个列表中都有两个元组.
lst = [
[('Jade', 0.9877607), ('Tom', 0.5728347)],
[('Jackson', 0.6892309), ('Hazel', 0.6837777)]
]
我想将所有4个浮点值四舍五入为2个d.p.我是否必须将每个元组转换为一个列表,然后对其进行更改,还是有更简单的方法?
谢谢
因为tuples是immutable,所以不能在位修改它们.您需要基于当前列表创建一个新列表.
使用列表理解很简单:
lst = [
[('Jade', 0.9877607), ('Tom', 0.5728347)],
[('Jackson', 0.6892309), ('Hazel', 0.6837777)],
]
new_list = [
[(name, round(value, 2)) for (name, value) in sublist]
for sublist in lst
]
print(new_list)
# Output:
# [
# [('Jade', 0.99), ('Tom', 0.57)],
# [('Jackson', 0.69), ('Hazel', 0.68)]
# ]