gpt4 book ai didi

Python:更改字符串列表中所有元素的格式

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:55 24 4
gpt4 key购买 nike

我有一个字符串列表:

a = ['[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]',
'[2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0]',
'[3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0]',
'[4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0]',
'[5.0, 5.0, 5.0]',
'[1.0]'
]

当我使用下面的代码时,列表中每个元素的格式都是字符串,而不是 int。

a= tuple(a.reshape(1,-1)[0])

我需要做的是更改所有元素的格式。比如

a[1][2] = 2

但是,在我的代码中:

a[1][2] = '.'

最佳答案

a 是一个字符串列表。我不知道你从哪里得到它,但据我了解你的问题,你希望它是一个包含数字的列表列表。这可能是 eval 函数的用例。

>>> a
['[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]', '[2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0]', '[3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0]', '[4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0]', '[5.0, 5.0, 5.0]', '[1.0]']
>>> a = [eval(x) for x in a]
>>> a
[[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0], [4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0], [5.0, 5.0, 5.0], [1.0]]
>>> a[1][2]
2.0

如果你不想使用eval,我会建议

a = [[float(x) for x in liststring[1:-1].split(',')] for liststring in a]

关于Python:更改字符串列表中所有元素的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24315178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com