python - 为存在的元素绘制两个向量 - 即跳过没有条目的行

标签 python arrays

两个向量:

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/

相关文章:

arrays - 迭代 JSON 数组并找到所有匹配的值

java - 数组长度不同,Junit 中预期长度 = 1 实际长度 = 0

python - 我如何找到元方法的名称?

python - pytest 3.x 与 2.x 相比有什么重要的地方吗?

Python 匹配并返回中间的字符串

iphone - 如何根据字符串的长度分割字符串数组?

C - 动态初始化数组

python - qt.qpa.plugin : Could not load the Qt platform plugin "xcb" in "" even though it was found."

python - 为什么当我执行 'log' 时,我的 matplotlib 条形图会压缩 x 轴

java - Java 中的 if(变量 == [集合中的任何项目])