如何将无逗号的字符串坐标列表转换为整型2元组用于图像像素操作
字符串坐标列表转整型元组列表实现方案
核心思路
你的原始字符串每个元素都带有方括号、内部数值用多个空格分隔、附带多余小数点,只需要依次完成去特殊符号→分割数值→类型转换→封装元组四步即可得到可用的坐标元组。
实现代码
注意不要用list作为变量名,会覆盖Python内置的list关键字,我们将原始列表命名为str_coord_list:
# 原始输入列表 str_coord_list = ['[11. 5.]', '[ 3. 16.]', '[ 0. 25.]', '[ 2. 40.]'] # 转换逻辑(循环写法,可读性更高) int_coord_list = [] for s in str_coord_list: # 去掉字符串首尾的方括号,按空格分割后过滤掉多余空格产生的空字符串 num_parts = filter(None, s.strip('[]').split()) # 每个数值先转float兼容带小数点的格式,再转int,最后封装为元组 coord = tuple(int(float(part)) for part in num_parts) int_coord_list.append(coord) # 也可以用列表推导式写为一行 # int_coord_list = [tuple(int(float(n)) for n in filter(None, s.strip('[]').split())) for s in str_coord_list]
效果验证
转换后的int_coord_list输出结果为:[(11, 5), (3, 16), (0, 25), (2, 40)]
直接按你的需求调用即可:
New_Image[int_coord_list[0]] = 0
内容的提问来源于stack exchange,提问作者StefanJ
相关产品推荐
相关产品推荐

