相关疑难解决方法(0)

Python:根据条件拆分列表?

从美学角度和绩效角度来看,根据条件将项目列表拆分为多个列表的最佳方法是什么?相当于:

good = [x for x in mylist if x in goodvals]
bad  = [x for x in mylist if x not in goodvals]
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?

更新:这是实际的用例,以便更好地解释我正在尝试做的事情:

# files looks like: [ ('file1.jpg', 33L, '.jpg'), ('file2.avi', 999L, '.avi'), ... ]
IMAGE_TYPES = ('.jpg','.jpeg','.gif','.bmp','.png')
images = [f for f in files if f[2].lower() in IMAGE_TYPES]
anims  = [f for f in files if f[2].lower() not in IMAGE_TYPES]
Run Code Online (Sandbox Code Playgroud)

python

245
推荐指数
14
解决办法
14万
查看次数

Python-如何将整个numpy数组一次放入Queue.Queue中,但分别检索每一行

假设我有一个10行的2维numpy数组

例如

array([[  23425.     ,  521331.40625],
   [  23465.     ,  521246.03125],
   [  23505.     ,  528602.8125 ],
   [  23545.     ,  531934.75   ],
   [  23585.     ,  534916.375  ],
   [  23625.     ,  544971.9375 ],
   [  23665.     ,  544707.5625 ],
   [  23705.     ,  532729.25   ],
   [  23745.     ,  540303.0625 ],
   [  23865.     ,  527971.1875 ]])
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将整个数组一次性(从python的集合中)放入队列中,而无需遍历数组并put()用于每一行,然后可以使用queue.get()函数分别检索每一行?

例如,第一次调用queue.get()将检索[23865., 527971.1875 ],第二次调用将检索[23745., 540303.0625 ]

python numpy python-2.7 python-3.x

1
推荐指数
1
解决办法
1018
查看次数

标签 统计

python ×2

numpy ×1

python-2.7 ×1

python-3.x ×1