我有一个2d数组(Q)只包含0和1.我希望在每行1的每个位置填充1个Q.这是一个例子:
原始矩阵:
[0 0 0 1 0 1]
[1 0 0 0 0 0]
[0 0 0 0 0 0]
[1 1 0 1 0 0]
[1 0 0 0 0 1]
[0 1 1 0 0 1]
[1 0 1 0 1 0]
Run Code Online (Sandbox Code Playgroud)
结果矩阵:
[0 0 0 1 1 1]
[1 0 0 0 0 0]
[0 0 0 0 0 0]
[1 1 1 1 0 0]
[1 1 1 1 1 1]
[0 1 1 1 1 …Run Code Online (Sandbox Code Playgroud) 我有一个列表字典,并希望在具有重复值的键的情况下只获得一个键.例如:
dic1 = {8: [0, 4], 1: [0, 4], 7:[3], 4:[1, 5], 11:[3]}
Run Code Online (Sandbox Code Playgroud)
结果字典
dic2 = {1: [0, 4], 7:[3], 4:[1, 5]}
Run Code Online (Sandbox Code Playgroud)
策略是反转键中的值,这将变为唯一,然后再次将键反转为各自的值:
dic2 = {y: x for x, y in dic.items()}
Run Code Online (Sandbox Code Playgroud)
但是发生了错误,因为列表不是hashables.如果键具有相同的值,我可以做什么才能获得只有一个键的字典?