我需要将字符串列表转换为元组。我的清单是这样的:
list = ['[11. 5.]', '[ 3. 16.]', '[ 0. 25.]', '[ 2. 40.]',
该列表由字符串形式的元组组成(不幸的是不是整数)。在元组内没有用逗号分隔。尤其是与逗号的组合让我感到沮丧。
我在这里找到了类似的解决方案,但不知何故我无法将逗号放入元组中:将字符串列表转换为 2 元组整数列表
背景:该列表表示我想要变黑的图像像素的 X 和 Y 坐标。像这样(第一行):
New_Image[list[0]] = 0
您可以使用正则表达式从列表项中捕获每个整数,然后从它们形成元组,如下所示:
import re
ls= ['[11. 5.]', '[ 3. 16.]', '[ 0. 25.]', '[ 2. 40.]']
n = re.findall(r'\d+', ''.join(ls))
# -> ['11', '5', '3', '16', '0', '25', '2', '40']
res = [tuple(map(int, [n[i], n[i + 1]])) for i in range(0, len(n) - 1, 2)]
# -> [(11, 5), (3, 16), (0, 25), (2, 40)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句