python可以自动拆分表格吗_Python:根据条件拆分列表?

小编典典

good = [x for x in mylist if x in goodvals]

bad = [x for x in mylist if x not in goodvals]

有没有更优雅的方法可以做到这一点?

该代码完全可读,而且非常清晰!

# 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]

再次,这很好!

使用集合可能会稍微改善性能,但这是微不足道的差异,而且我发现列表理解要容易阅读得多,并且你不必担心顺序被弄乱了,重复项被删除等等。

实际上,我可能会“向后”前进另一步,并且只使用一个简单的for循环:

images, anims = [], []

for f in files:

if f.lower() in IMAGE_TYPES:

images.append(f)

else:

anims.append(f)

列表理解或使用set()都很好,除非你需要添加其他检查或其他逻辑-说你要删除所有0字节jpeg,只需添加类似内容即可。

if f[1] == 0:

continue

2020-02-16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值