我有一个数组
ar= [2, 3, 45 , 5556, 6, 'empty', 4]
我想规范化这个数组以便稍后绘制它。
0:2
1:3
2:45
3: 5556
4: 6
5: 0 # not "empty" anymore
6: 4
newAr = {if (ar[i] != 'empty') ar[i] : i for i in range(len(ar))
else: ar[i] = 0 }
我试过这种方式,我如何在将每个“空”元素转换为零的条件下规范化此数组。
更新 主要目标是规范化这个数组。 Ax X:为索引,Ax Y为值。
如果我们有重复怎么办,我们如何确保我们有正确的引用。
ar= [2, 3, 45, 4 , 5556, 6, 'empty', 4]
0:2
1:3
2:45
3: 5556
4: 6
5: 0 # not "empty" anymore
6: 4
最佳答案
这个有效:
ar = [2, 3, 45, 5556, 6, 'empty', 4]
new_ar = [0 if x == 'empty' else x for x in ar]
产量:
[2, 3, 45, 5556, 6, 0, 4]
我使用了 Python ternary operator在列表理解的前面,而不是后面。
编辑:如果您需要一组,按照评论,那么在您的理解中只需使用 {}
而不是 []
:
new_ar = {0 if x == 'empty' else x for x in ar}
这将自动确保唯一值。
关于python - 在 Python 中规范化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20276598/