尝试在 python 中正确实现 sum 和 clip list 操作

Posted

技术标签:

【中文标题】尝试在 python 中正确实现 sum 和 clip list 操作【英文标题】:Trying to properly implement both sum and clip list operations within python 【发布时间】:2019-04-07 04:25:48 【问题描述】:

大家晚上好, 在试图理解在 python 中编译和定义列表操作的正确方法时,我遇到了很多问题,但在这种特殊情况下,更多地关注 sum 和 clip 列表函数。

为了提供一点上下文,这个程序获取用户输入的一组 10 个数字,并通过程序中包含的其他数字运行存储的数字,例如范围、平均值、中值等。虽然这些已经对我来说本身就是一个问题,我正在尝试解决修改总和和剪辑的问题。

def sum (number_list) :

    for num in range ( number_list ):
    sum ( number_list )    
    return ("The sum of the numbers in this list is :".format(sum(number_list))) 

def clip (number_list, clipNum) :

    import numpy as np 

    in_array = number_list 
    return ("Input array : ", in_array) 

    out_array = np.clip(in_array, a_min = 1, a_max = 8) 
    return ("Output array : ", out_array)   

sum函数实际上应该是对用户输入的数字列表设置执行的第二次操作,而clip函数是最终执行的操作。我知道对于这个版本的 python,一些代码工作可能有点过时,或者可能只是一般不正确,但在这一点上,我更关心获得正确的结果。

【问题讨论】:

你期望什么,你实际得到什么? 对此表示歉意,应该在提示中更好地澄清这一点。对于总和,我希望基于数值的列表能够遍历它,因此我可以从十个用户输入的值中的每一个中获得总和。解释 clip 函数有点不那么简单,但它的目的是替换所有大于提供给该数字的数字,在这种情况下,必须在 clipNum 中指定。因此,例如,如果列表是 [3,17,5,9,1,11],clipNum 是 8,则返回的数组是 [3,8,5,8,1,8]。 我在 python 中实际得到的结果是由于 range 函数中所谓的未定义项而导致的回溯 感谢您的澄清!因此,对您来说,编辑您的问题可能会更好,不仅要指定您所期望的,还要指定您实际得到的(大概,您一定会得到一些意想不到的东西,否则您不会有问题,对吧?),这样阅读您的问题的人可以为您提供帮助,而无需在 cmets 中进行搜索。此外,发布 exact 错误回溯会比用您自己的方式描述它更好。 我认为您误解了 return 的作用。它从您的函数中给出结果并退出它。我想你正在寻找print 【参考方案1】:
lst = [3,17,5,9,1,11]

def op_sum(number_list):
    return sum(number_list)

def op_clip(number_list, clip_num) :
    return [min(n, clip_num) for n in number_list]

print("sum  =", op_sum(lst))
print("clip =", op_clip(lst, 8))

打印:

sum  = 46
clip = [3, 8, 5, 8, 1, 8]

【讨论】:

以上是关于尝试在 python 中正确实现 sum 和 clip list 操作的主要内容,如果未能解决你的问题,请参考以下文章

如何在python的类中正确实现辅助函数

如何在c#中正确实现等待异步[重复]

在 Android 中正确实现 ViewPager2

如何在 Keras 中正确实现自定义活动正则化器?

在这种情况下,如何在 Flutter 中正确实现 FutureBuilder?

如何在 Swift 中正确实现方向数组缩减挑战中的堆栈