Python学习之链表推导式x for xx in yy
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
一、x for xx in yy是什么?
形如 xx for xx in yy 的形式就是链表推导式
二、使用实例
代码如下(示例):
if __name__ == '__main__':
dct = {'a': 1, 'b': 2, 'c': '3'}
a = [x for x in dct.items()]
b = {x for x in dct.items()}
print(type(a))
print(a)
print(type(b))
print(b)
输出结果
<class ‘list’>
[(‘a’, 1), (‘b’, 2), (‘c’, ‘3’)]
<class ‘set’>
{(‘b’, 2), (‘a’, 1), (‘c’, ‘3’)}
`
链表表达式在for语句前面,for后面就是对参数的限定。[XXX for yyy](必须要有方括号表示是链表),XXX表示链表,yyy限定XXX中参数。
举一个简单的例子:
num=[1,2,3,4,5]
myvec=[x*2 for x in num]
print myvec
[2,4,6,8,10]
所以,unq_objnames = [l.strip() for l in open(‘labels.txt’).readlines()]的意思就是从labels.txt 中循环读取每个label并赋值给l,并且将l的前后空白符删除,并将得到的链表最终赋值给unq_objnames