两个向量:
A = ['1','2','3','4','5','6','','6','7','8','','1','2','3','','']
B = ['2','3','4','','5','','','6','','7','8','9','1','4']
如何仅针对具有两个现有元素的值绘制 A 与 B 的图?目前,我必须循环遍历每个向量并检查同一行的 int() 是否 > 0。
最佳答案
您可以使用zip
将元素配对,然后(如果它们是字符串)all
选择那些不是空字符串的,因为 bool(some_str)
如果为空则为 False,否则为 True。例如:
>>> A = ['1','2','3','4','5','6','','6','7','8','','1','2','3','','']
>>> B = ['2','3','4','','5','','','6','','7','8','9','1','4']
>>> pairs = filter(all, zip(A, B))
>>> pairs
[('1', '2'), ('2', '3'), ('3', '4'), ('5', '5'), ('6', '6'), ('8', '7'), ('1', '9'), ('2', '1'), ('3', '4')]
不过,我可能会使用列表理解,更像是:
>>> [map(float, pair) for pair in zip(A, B) if all(pair)]
[[1.0, 2.0], [2.0, 3.0], [3.0, 4.0], [5.0, 5.0], [6.0, 6.0], [8.0, 7.0], [1.0, 9.0], [2.0, 1.0], [3.0, 4.0]]
同时获取数字。
关于python - 为存在的元素绘制两个向量 - 即跳过没有条目的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16109085/