python - 在 Python 中规范化数组

标签 python

我有一个数组

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/

相关文章:

python - DecisiontreeClassifier,为什么值的总和错误?

python - Django 测试 - 导入错误 : Start directory is not importable

python - 从文本文件中删除名称

python - 用Python读取日志文件并输出特定文本

python - if, elif 和 else.. 优先级和链

php - 如何将 PHP 中从网络摄像头捕获的图像发送到 Python

python - 用于字母数字文本字符串直至特殊模式的正则表达式

python - 错误 : no such file

python - 如何使用新维度 reshape xarray 数据

python - AWS : The config profile (MyName) could not be found