Python基础 | 你不了解的列表推导式
  TEZNKK3IfmPf 2023年11月15日 57 0

在Python开发中大量的使用了列表推导式即list comprehension,那么你能看出下面代码的区别吗?


a = [1,2,3,4] 
b = {x*2 for x in a}  
c = [x*2 for x in a]


首先定义了长度为4的列表a包含了1,2,3,4共四个整数,然后使用列表推导式生产了b和c,其中b和c唯一的区别就是一个使用了大括号,另外一个使用了中括号。那么你能看出这两者之间的区别是什么吗?

如果你能一眼就看出二者之间的区别,那么本文对你就没有什么价值,反之,本文还是非常值得一看的。

使用type()函数可以查看他们的类型,便可很快了解他们的区别是什么。


type(b) 
# list  


type(c) 
# set


利用type()函数得出的结果是b的类型是list,而另外一个c的类型是set,因此可以快速的看到他们的区别。

接下来将编写下面代码进一步验证。

Python基础 | 你不了解的列表推导式_大括号

上面的代码进一步验证了b的类型是列表支持append操作,而c的类型是set,当之前集合中有2的时候,再次add()后,发现无法添加成功,集合的长度未曾改变。

本文为大家介绍了Python中列表推导式中一些不为人所知的知识,虽然只是大括号与中括号的微小差异,但是结果却相差很大,正所谓差之毫厘,缪以千里。  

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   36   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   27   0   0 python
  TEZNKK3IfmPf   2024年05月31日   28   0   0 python
TEZNKK3IfmPf