python函数返回元组平均数_关于python:使用函数中的单个项返回元组
刚刚在python中发现了这一点奇怪之处,我想我会在这里把它作为一个问题写下来,以防其他人试图用我以前的搜索词来寻找答案。
看起来tuple解包使它成为这样,所以如果您希望遍历返回值,就不能返回长度为1的tuple。虽然外表看起来很骗人。看看答案。
>>> def returns_list_of_one(a):
... return [a]
...
>>> def returns_tuple_of_one(a):
... return (a)
...
>>> def returns_tuple_of_two(a):
... return (a, a)
...
>>> for n in returns_list_of_one(10):
... print n
...
10
>>> for n in returns_tuple_of_two(10):
... print n
...
10
10
>>> for n in returns_tuple_of_one(10):
... print n
...
Traceback (most recent call last):
File"", line 1, in
TypeError: 'int' object is not iterable
>>>
感谢大家的解释。这完全有道理。有人能解释投票被否决的原因吗?你可以看到我最初的想法,它与从函数返回值有关,而不是与元组本身的实际构造有关,这导致我进行了一系列毫无结果的搜索和试验,所以它似乎是合适的提出。(虽然很明显,我选择的单词可能会更好,请参阅上面的编辑。)
您需要显式地将其设置为元组(请参见官方教程):
def returns_tuple_of_one(a):
return (a, )
对。实际上是逗号,而不是括号组成了一个元组。
是的。它也有很好的记录。
这不是bug,一个tuple由val,或(val,)构造。用Python语法定义元组的是逗号而不是括号。
你的函数实际上是返回a本身,这当然是不可测的。
引用序列和元组文档:
A special problem is the construction of tuples containing 0 or 1
items: the syntax has some extra quirks to accommodate these. Empty
tuples are constructed by an empty pair of parentheses; a tuple with
one item is constructed by following a value with a comma (it is not
sufficient to enclose a single value in parentheses). Ugly, but
effective.
号
(a)不是单元素元组,它只是一个带圆括号的表达式。使用(a,)。
您可以使用tuple()内置方法,而不是难看的逗号。
def returns_tuple_of_one(a):
return tuple(a)
号
我同意这是更漂亮的,但不幸的是,tuple(10)给出了相同的TypeError: 'int' object is not iterable。
同样不幸的是,tuple('HELLO')产生('H', 'E', 'L', 'L', 'O'),我不希望从returns_tuple_of_one('HELLO')得到。
tuple([a])更丑,但会起作用。
python函数返回元组平均数_关于python:使用函数中的单个项返回元组相关推荐
- python教材答案编写函数求成绩平均数_学好Python例题之求成绩平均分
原博文 2019-08-16 21:03 − 例题: 用户输入若干个成绩,求所有成绩的平均值.每输入一个成绩后询问是否继续输入下一个成绩,回答yes就继续输入下一个成绩,回答no就停止输入成绩. 输入 ...
- python读取csv求平均数_利用Python读取CSV文件并计算某一列的均值和方差
近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...
- python 多维list 排序_人生苦短 | Python列表和元组归纳整理
1. 列表 1.1. 列表是什么? 列表是由一系列按特定顺序排列的元素组成,所以是有序的集合.列表中的元素可以是不同类型的,列表中也可以嵌套列表.在Python中,用方括号[]来表示列表,并用逗号来分 ...
- python中format函数用法简书_从Python安装到语法基础,这才是初学者都能懂的爬虫教程...
Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...
- python 遍历元组例子_【Python入门自学笔记专辑】——元组的创建、访问、遍历...
创建元组 元组是一种不可变的序列,一旦创建就不能修改.创建元组可以使用tuple([iterable])函数或直接用逗号","将元素分隔. Python Shell实例代码 &g ...
- python中高阶函数和装饰器_三.Python高阶函数和装饰器
1高阶函数 1.1 数学概念回顾下数学知识: y=f(x) 这是最开始接触的普通函数 y=g(f(x)) 这个就是我们接触到的高阶函数 在数学和计算机科学中,高阶函数至少应当是满足下面一个条件的函数: ...
- java min 函数的使用方法_【Python】Java程序员学习Python(五)— 函数的定义和使用...
不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...
- python函数赋值给对象_【Python核心编程笔记】一、Python中一切皆对象
Python中一切皆对象本章节首先对比静态语言以及动态语言,然后介绍 python 中最底层也是面向对象最重要的几个概念-object.type和class之间的关系,以此来引出在python如何做到 ...
- python程序如何执行死刑_「Python基础知识」Python生成器函数
原标题:「Python基础知识」Python生成器函数 对于程序而言,内存也是很重要的,因为程序中很多数据都是保存在内存中的,如果内存中存储的数据过多,那么系统就会崩溃,这是人们不希望发生的. 可以采 ...
最新文章
- Mybatis基础:增删改查、模糊查询、多条件查询
- 通过ribbon 根据服务名获取所有服务实例的IP和端口列表
- Objective - C基础: 第一天 - 1. 第1, 2个OC程序
- 涂鸦之作WanAndroid第三方APP
- jzoj1751-Span(每日C组)【并查集,贪心】
- flume流程之SpoolDir-memory-hdfs
- Spring Cloud Sleuth Zipkin - (1)
- gpg: no default secret key: 私钥不可用
- php声明变量开头,php声明一个变量需要注意些什么
- 《机器视觉算法与应用》第3章 机器视觉算法之形态学——学习笔记
- Mac使用RDC远程连接Windows并传输文件
- Migration中的Collation Confliction
- outlook一直显示尝试连接服务器,OUTLOOK EXPRESS老是连接不上服务器怎么办?
- java 模板类 mock_mockj: 生成mock数据的利器,按照规则模板生成 mock 数据,mockjs的java实现。同时内置随机 random 一个对象的功能...
- 微信小程序--火车票查询
- python 获取巨量星图数据
- 0 为什么学习stm32f103
- Python自动化测试(01)自动化测试环境搭建
- 历年计算机一级考试原题,全国计算机等级考试一级历年上机真题.doc
- MySQL数据库系列培训教程