python编程之[len(s) for s in seq]是什么意思

374 阅读1分钟

首先来看一个案例

"""""""
import numpy as np
seq=[[478,512,503,406,481,509,422],[478,512,503,406,481,509,422,465],[478,512,503,406,481]]
leng=np.asarray([len(s) for s in seq],dtype=np.int64)
print(leng)print(len(seq))

效果如下


for s in seq是循环遍历seq这个列表,这个列表多维的,由于只有一个for循环,所以只会遍历三次;

len(s) for s in seq 是给循环遍历赋值:

第一次遍历,把[478,512,503,406,481,509,422]的长度也就是7,7取代了第一个数


第二次遍历,把[478,512,503,406,481,509,422,465]的长度也就是8,8取代了第二个数

......


所以得到的新列表是[7,8,5]