从字典键中的所有元组中提取特定位置
Extract particular position from all tuples in dictionary keys
从键为 (x, y) 对的字典中,我想获取所有 x 的列表和所有 y 的列表。
我的字典是这样的:
(x, y) : value
{(17, 19): 1, (22, 24): 0, (18, 24): 1}
目标是:
x={17,22,18} and y={19,24,24}
d ={(17, 19): 1, (22, 24): 0, (18, 24): 1}
x,y = zip(*d)
x,y
输出:
((17, 22, 18), (19, 24, 24))
不使用 zip 的解决方案:
x = [ i[0] for i in d ]
y = [ i[1] for i in d ]
这是使用解构赋值的一种方法的交互式演示:
>>> d = {(17, 19): 1, (22, 24): 0, (18, 24): 1}
>>> k = d.keys()
>>> x = [k1 for (k1,k2) in k]
>>> x
[18, 17, 22]
>>> y = [k2 for (k1,k2) in k]
>>> y
[24, 19, 24]
>>>
它是一个字典,要在单独的列表中获取键,您可以使用列表推导
d ={(17, 19): 1, (22, 24): 0, (18, 24): 1}
x = [i[0] for i in d.keys()]
y = [i[1] for i in d.keys()]
x
[17, 22, 18]
y
[19, 24, 24]
从键为 (x, y) 对的字典中,我想获取所有 x 的列表和所有 y 的列表。
我的字典是这样的:
(x, y) : value
{(17, 19): 1, (22, 24): 0, (18, 24): 1}
目标是:
x={17,22,18} and y={19,24,24}
d ={(17, 19): 1, (22, 24): 0, (18, 24): 1}
x,y = zip(*d)
x,y
输出:
((17, 22, 18), (19, 24, 24))
不使用 zip 的解决方案:
x = [ i[0] for i in d ]
y = [ i[1] for i in d ]
这是使用解构赋值的一种方法的交互式演示:
>>> d = {(17, 19): 1, (22, 24): 0, (18, 24): 1}
>>> k = d.keys()
>>> x = [k1 for (k1,k2) in k]
>>> x
[18, 17, 22]
>>> y = [k2 for (k1,k2) in k]
>>> y
[24, 19, 24]
>>>
它是一个字典,要在单独的列表中获取键,您可以使用列表推导
d ={(17, 19): 1, (22, 24): 0, (18, 24): 1}
x = [i[0] for i in d.keys()]
y = [i[1] for i in d.keys()]
x
[17, 22, 18]
y
[19, 24, 24]