Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何将作为元素列表的字典的值转换为(坐标元组)的元组?_Python 3.x - Fatal编程技术网

Python 3.x 如何将作为元素列表的字典的值转换为(坐标元组)的元组?

Python 3.x 如何将作为元素列表的字典的值转换为(坐标元组)的元组?,python-3.x,Python 3.x,例如,我有这样一句话: {'CUBE': ['0,0;0,1;1,0;1,1'], 'Z': ['0,0;1,0;1,1;2,1', '0,0;0,1;1,-1;1,0'], 'S': ['0,0;0,1;1,1;1,2', '0,0;1,-1;1,0;2,-1'], etc etc} 我的目标是将[0,0;0,1;1,0;1,1']转换为:((0,0)、(0,1)、(1,0)、(1,1))将[0,0;0,1;1,0;1,1']转换为((0,0)、(0,1)、(1,0)、(1,

例如,我有这样一句话:

{'CUBE': ['0,0;0,1;1,0;1,1'], 
  'Z': ['0,0;1,0;1,1;2,1', '0,0;0,1;1,-1;1,0'], 
  'S': ['0,0;0,1;1,1;1,2', '0,0;1,-1;1,0;2,-1'],
  etc etc}

我的目标是将[0,0;0,1;1,0;1,1']转换为:((0,0)、(0,1)、(1,0)、(1,1))

[0,0;0,1;1,0;1,1']
转换为
((0,0)、(0,1)、(1,0)、(1,1))
可以按如下方式完成:

l=['0,0;0,1;1,0;1,1'] >>>tuple(tuple(int(x2)表示x1中的x2。拆分(','))表示l[0]中的x1。拆分(';')) ((0, 0), (0, 1), (1, 0), (1, 1)) 此
拆分
str
拆分为
以获取值对。然后,它在
处对每一对(仍然是
str
)进行
拆分,以获取该对的单个值,将这些值转换为
int
,并将它们打包成一个
元组。最后,它将所有的
元组
打包成一个
元组

现在,将上述内容应用于您的
指令

>d={'CUBE':['0,0;0,1;1,0;1,1'],
…'Z':['0,0;1,0;1,1;2,1','0,0;0,1;1,-1;1,0'],
…'S':['0,0;0,1;1,1;1,2','0,0;1,-1;1,0;2,-1']
>>>
>>>对于d.项()中的k,v:
...    对于枚举(v)中的i,e:
...        d[k][i]=tuple(tuple(int(x2)表示x1中的x2.split(','))表示e.split(';'))中的x1.split(','))
... 
>>>d
{'CUBE':[((0,0)、(0,1)、(1,0)、(1,1))],'Z':[((0,0)、(1,0)、(1,1)、(2,1)),((0,0)、(0,1)、(1,1))],'S':[((0,0)、(0,1)、(1,1)、(1,2)),((0,0)、(1,1)、(1,1)、(1,0)、(2,1))]

应该清楚外循环的作用。内部循环更新
列表中的每个
str
,它们是
dict的
s,成为
元组
的所需
元组。

为了让我们帮助您,您必须展示您的努力。然而,转储所有代码会适得其反。请编辑您的问题以显示最小的可复制集。有关详细信息,请参阅。