这是来自Wes Mckinney的Python for Data Analysis的第204页

genre_iter = (set(x.split('|')) for x in movies.genres)

genres = sorted(set.union(*genre_iter))

在IPython中使用%paste方法时,此代码非常有效.在Python shell中运行时,代码也可以正常运行.但是,当我直接在IPython中键入第二行时,没有%paste方法

genres = sorted(set.union(*genre_iter))

我收到以下错误

TypeError: descriptor 'union' of 'set' object needs an argument

这似乎是一个bug,除非有一个我仍然没有意识到的IPython功能.

解决方法:

你已经耗尽了发电机.在再次使用之前重新定义它:

genre_iter = (set(x.split('|')) for x in movies.genres)

genres = sorted(set.union(*genre_iter))

在python中,一旦循环遍历迭代器的所有元素,就不能再次遍历迭代器(它现在是空的).

因为genre_iter迭代器是空的,所以你没有向set.union()传递任何参数,因此它会抱怨:

>>> set.union()

Traceback (most recent call last):

File "", line 1, in

TypeError: descriptor 'union' of 'set' object needs an argument

只是为了明确:你没有在ipython中找到错误.您可以在常规python提示中重现相同的问题.

标签:python,ipython,generator

来源: https://codeday.me/bug/20190725/1535724.html

python set union_python – set.union()抱怨它在传入生成器时没有参数相关推荐

  1. Python集合的并集—union函数

    目录 什么是并集 union的功能 union的用法 什么是集合 a , b两个集合中所有的元素(去掉重复)即为a与b的并集 union的功能 返回多个集合的并集,即包含了所有集合的元素,重复的元素只 ...

  2. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  3. python使用函数的目的_在Python 3.x中经常看到定义函数有一个单独的 * 参数?定义这样参数的目的是?怎样对其取值呢?...

    参数在python中总是通过赋值进行传递的.在默认情况下,参数是通过其位置进行匹配的,从左到右,而且必须精确的传递和函数头部参数名一样多的参数. 这种默认的传递方式很简单 def f(a,b,c): ...

  4. python语法中infile语句_浅谈pymysql查询语句中带有in时传递参数的问题

    直接给出例子说明: cs = conn.cursor() img_ids = [1,2,3] sql = "select img_url from img_url_table where i ...

  5. python telnet模块 more_[宜配屋]听图阁 - python 处理telnet返回的More,以及get想要的那个参数方法...

    问题: 需要循环获取网元返回的某个参数,并计算出平均值. 解决方案: 通过expect解决返回More的问题. 通过具体的参数位置,精确获取到参数. 讨论: 参数位置固定,不好复用. #! usr/b ...

  6. python可变参数的特点_可变参数**kwargs传入函数时的存储方式为( )_学小易找答案...

    [单选题]抗结核药联合用药的目的是: [单选题]女性,50岁,患耐青霉素的金葡菌性心内膜炎,青霉素试敏阴性,既往有慢性肾盂肾炎,应选用: [填空题]固态下原子(或分子)呈( )排列而形成的聚集状态,称 ...

  7. 怎么确定迭代器后面还有至少两个值_如何理解Python中的可迭代对象、迭代器和生成器

    ▍前言 在讨论可迭代对象.迭代器和生成器之前,先说明一下迭代器模式(iterator pattern),维基百科这么解释: 迭代器是一种最简单也最常见的设计模式.它可以让用户透过特定的接口巡访容器中的 ...

  8. python查询数据库带逗号_浅谈pymysql查询语句中带有in时传递参数的问题

    直接给出例子说明: cs = conn.cursor() img_ids = [1,2,3] sql = "select img_url from img_url_table where i ...

  9. Python 函数的执行流程-函数递归-匿名函数-生成器

    1 函数的执行流程 函数的执行需要对函数进行压栈的,什么是压栈呢,简而言之就是在函数执行时在栈中创建栈帧存放需要变量以及指针的意思.具体涉及的知识非常多,这里就已一个Python脚本简单进行分析. 当 ...

最新文章

  1. h265player开发
  2. 用扫地机器人楼下吵吗_扫地机器人到底好不好用?说说我两年的使用体验!
  3. 光棍节程序员闯关秀过关全攻略
  4. AGV 减震结构对比分析
  5. 聚类分析通俗易懂解释
  6. 字符串函数的使用及模拟实现:strcpy、strcmp、strcat、strstr
  7. php支付宝刷脸api,支付宝人脸识别
  8. 团队管理14--盘点团队
  9. pon终端测试仪_JW3313 PON终端状态测试仪
  10. 【渝粤教育】广东开放大学 商务谈判 形成性考核 (34)
  11. 【如何拍出一条好的vlog】素材篇
  12. shp文件转换到CAD dwg,dxf
  13. JAVA图形界面:加法计算器
  14. 【前端技巧】文本内容单行省略及多行省略
  15. 一个列子演示java中弱引用的回收时机
  16. 有极性电容和无极性电容区别
  17. 计算机网络 -- RS232接口 ----OSI物理层协议----RS232接口
  18. dbase mysql_DBase
  19. tableau-圆环图
  20. Android第二次作业

热门文章

  1. 聚焦“裂变”,又拍云推出直播云等多场景解决方案
  2. 通过案例学调优之--Oracle Cluster Table
  3. wince 6.0 设备管理器架构(Device Manager Architecture)
  4. 从C#2.0的角度看.NET 2.0类型系统
  5. 2030年,逾1亿中国人需要学习新技能并转换岗位,这就是摩擦性失业
  6. Squid在企业中的应用
  7. python 之 collections
  8. Linux下通过rm -f删除大量文件时提示-bash: /bin/rm: Argument list too long的解决方法...
  9. 用Apache的HTACCESS保护密码
  10. CENTOS在输入ifconfig命令时,提示没有命令的处理方法