【问题标题】:How do we get a function that returns a list in Python?我们如何在 Python 中获得一个返回列表的函数?
【发布时间】:2022-07-04 16:51:00
【问题描述】:

所以我是 Python 新手,下面是我的代码:

def sum_is_less_than(numeric_value, list_of_numbers):
    total = 0
    for number in list_of_numbers:
        total = total + number
        if total > numeric_value:
            break
        print(total)

numeric_value = 100
list_of_numbers = [2, 3, 45, 33, 20, 14, 5]

sum_is_less_than(numeric_value, list_of_numbers)

所以这段代码在做什么,只要它在给定的数值之下,它就会添加列表的值。我希望代码输出列表中总和小于给定数值的前 N ​​个元素。

例如:[1,2,3,4,5,6],给定的数值是 10

我希望代码输出 [1,2,3],因为加 4 会使总和大于或等于给定的数值。

【问题讨论】:

  • 你想让你的函数返回一个列表还是打印它?
  • 这里的确切问题是什么?
  • "我们如何在 Python 中获得一个返回列表的函数?"那么,您知道如何编写创建列表的代码吗?你知道如何编写将事物放入列表的代码吗?你知道return 在 Python 代码中的含义,以及它与返回值有什么关系吗?如果你把这些想法放在一起,你能看到如何解决这个问题吗? “我希望代码输出 [1,2,3],因为加 4 会使总和大于或等于给定的数值。”哦,所以它有点复杂。您能想出一个逻辑过程来告诉您将哪些数字放入列表中吗?
  • 欢迎来到 Stack Overflow。请阅读How to Ask,然后自己尝试解决问题。首先(我是认真的)拿出一支真正的钢笔或铅笔和一张纸,用英语写出完整的文字 - 如果它们能帮助你理解图片和图表 - 你想使用的过程为了解决问题。仔细考虑您需要跟踪哪些信息,需要重复哪些步骤,以及如何决定停止该过程。
  • 我会给你一个提示,在你的代码中使用out = []out.append(...)。或者,使用计数器来跟踪您添加的索引。

标签: python list function


【解决方案1】:

所以,如果你想从你的函数中得到一个列表,你需要实际返回一些东西。在这里,output 从一个空列表开始,然后附加原始列表 list_of_numbers 中的值,直到总和高于传递的数值。

def sum_is_less_than(numeric_value, list_of_numbers):
        total = 0
        output = []
        for number in list_of_numbers:
            total = total + number
            output.append(number) 
            if total > numeric_value:
                return output
        return output

一个用例是:

value = 10
list_of_numbers = [3,4,5,6]
list_sum_smaller_then_value = sum_is_less_than(numeric_value, list_of_numbers)

【讨论】:

  • 请不要为未达到最低要求的问题提供代码。即使在适合编写代码的地方,也需要解释。然而,在这里,OP 没有表现出任何主动性并且没有具体问题
  • 我将追加放在 if 语句之后,这似乎奏效了。感谢您的时间,谢谢。我只想让人们知道,如果我在 stackoverflow 上发帖,我已经自己尝试了至少 3 个小时,如果我仍然无法解决问题,stacked 是我最后的手段。我真的很感谢大家在这里的时间!
  • 很高兴听到它有效。如果在 if 语句之后放置 output.append(number),则不会得到导致退出函数的 lust 编号。我想这取决于你的任务!
【解决方案2】:
def sum_is_less_than(numeric_value, list_of_numbers):
    total = 0
    for number in list_of_numbers:
        total += number
        if total < numeric_value:
            print(number)
        else:
            break

numeric_value = 10
list_of_numbers = [1,2,3,4,5,6]

sum_is_less_than(numeric_value, list_of_numbers)

【讨论】:

  • 请不要为未达到最低要求的问题提供代码。即使在适合编写代码的地方,也需要解释。然而,在这里,OP 没有表现出任何主动性并且没有具体问题
  • 确实如此。首先,该网站不需要我首先证明反对票的合理性。其次,不符合网站标准的问题应该被关闭和删除,而不是回答。赞成的答案会干扰删除过程。如果这让您感到困扰,请将问题发送至meta.stackoverflow.com
【解决方案3】:

我会这样做(简短、高效和 Pythonic)。第一个表达式是generator,表示它不会计算不必要的值。

def sum_is_less_then(numeric_value, list_of_numbers: list):
    res = (sum(list_of_numbers[:idx]) for idx, _ in enumerate(list_of_numbers))
    return [x for x in res if x < numeric_value]

print (sum_is_less_then(30, [1,2,4,5,6,7,8,3,3,6]))
# result: [0, 1, 3, 7, 12, 18, 25]

【讨论】:

    【解决方案4】:

    问题 N1: 以下哪项不被视为违反保密规定?

    回答: 窃取密码

    点:0.00 问题 N2: 如果安全机制提供可用性,那么它提供了高度的保证,即授权 主体可以_______________ 数据、对象和资源。

    回答: 访问

    点:1.00 问题 N3: 除了以下哪一项之外,所有受影响的人都需要了解这些项目?

    回答: 收集有关上网习惯的信息

    点:0.00 问题 N4: 数据分类管理的哪些元素可以覆盖所有其他形式的访问控制?

    回答: 取得所有权

    点:1.00 问题 N5: 是什么确保活动或事件的主题不能否认事件的发生?

    回答: 不可否认性

    点:1.00 问题 N6: 以下哪项不属于数据隐藏示例?

    回答: 防止未经授权的访问者访问数据库

    点:0.00 问题 N7: 漏洞和风险是根据其对以下哪项的威胁进行评估的?

    回答: 一项或多项 CIA 三合会原则

    点:1.00 问题 N8: 以下哪项不是风险的有效定义?

    回答: 每一次的曝光

    点:0.00 问题 N9: 如何计算单次损失预期 (SLE)?

    回答: 资产价值 ($) * 暴露因子

    点:1.00 问题 N10: 保障措施对公司的价值如何计算?

    回答: 保障措施前的 ALE - 实施保障措施后的 ALE - 保障措施的年度成本

    点:1.00 问题 N11: 什么流程或事件通常由组织托管并针对员工群体 有类似的工作职能?

    回答: 终止

    点:0.00 问题 N12: 在执行风险分析时,您识别出火灾威胁和漏洞,因为没有 灭火器。根据此信息,以下哪项可能存在风险?

    回答: 病毒感染

    点:0.00 问题 N13: 您已经对特定威胁/漏洞/风险关系进行了基本的定量风险分析。 你选择一个可能的对策。再次进行计算时,哪个 以下因素会发生变化?

    回答: 年化发生率

    点:1.00 问题 N14: 以下哪一种许可协议不需要用户确认 他们在执行之前已经阅读了协议?

    回答: 点击包装协议

    点:0.00 问题 N15: 美国专利保护的标准期限是多久?

    回答: 自专利授权之日起 14 年

    点:0.00 问题 N16: 以下哪一项不是处理个人信息的有效法律理由 根据欧盟的数据隐私指令?

    回答: 同意

    点:0.00 问题 N17: 哪些合规义务与信用卡信息的处理有关?

    回答: HIPAA

    点:0.00 问题 N18: 什么法案更新了 Health Insurance Portability 的隐私和安全要求,以及 责任法案 (HIPAA)?

    回答: 中国金融学会

    点:0.00 问题 N19: Acme Widgets 目前在全公司范围内使用 1,024 位 RSA 加密标准。公司计划 从 RSA 转换为椭圆曲线密码系统。如果它想保持相同的密码 强度,它应该使用什么 ECC 密钥长度?

    回答: 2,048 位

    点:0.00 问题 N20: WPA 使用什么加密技术来保护无线通信?

    回答: AES

    点:0.00 问题 N21: 理查德收到了苏发给他的加密信息。他应该使用哪个密钥来解密 留言?

    回答: 理查德的私钥

    点:1.00 问题 N22: 数字签名标准不支持以下哪种算法?

    回答: RSA

    点:0.00 问题 N23: 哪个国际电信联盟 (ITU) 标准管理创建和认可 用于安全电子通信的数字证书?

    回答: X.509

    点:1.00 问题 N24: 什么安全概念鼓励管理员安装防火墙、恶意软件扫描程序和 IDS 在每个主机上?

    回答: 网络访问控制 (NAC)

    点:0.00 问题 N25: RARP 的作用是什么?

    回答: 它管理多路传输流

    点:0.00 问题 N26: 什么形式的基础架构模式无线组网部署支持大型物理 通过使用单个 SSID 但有多个接入点的环境?

    回答: 企业扩展

    点:1.00 问题 N27: 以下哪个 IP 地址不是 RFC 1918 定义的私有 IP 地址?

    回答: 169.254.1.119

    点:1.00 问题 N28: IPSec协议在OSI模型的哪个层起作用?

    回答: 网络

    点:1.00 问题 N29: 下列哪一个是双组门,通常由警卫保护并用于 包含一个主题,直到他们的身份和身份验证得到验证?

    回答: 闸机

    点:0.00 问题 N30: 以下哪一项通常不是在事件中造成计算机设备损坏的罪魁祸首 火灾和触发压制?

    回答: 抑制介质

    点:0.00 问题 N31: 什么类型的事件的特点是获得更高级别的特权?

    回答: 拒绝服务

    点:0.00 问题 N32: 识别系统上异常和可疑行为的最佳方法是什么?

    回答: 配置您的 IDS 以检测和报告所有异常流量。

    点:0.00 问题 N33: 如果您需要没收不为您的组织工作的可疑攻击者的 PC, 什么法律途径最合适?

    回答: 员工签署的同意协议。

    点:0.00 问题 N34: 什么是道德?

    回答: 个人行为准则

    点:1.00 问题 N35: 根据 RFC 1087,以下哪些行为被认为是不可接受和不道德的, “道德与互联网”?

    回答: 危害机密信息隐私的行为

    点:0.00 问题 N36: 什么事务管理原则保证两个事务互不干扰 因为它们对相同的数据进行操作?

    回答: 一致性

    点:0.00 问题 N37: Tom 为他的客户建立了一个包含姓名、电话号码和客户 ID 的数据库表。 商业。该表包含 30 位客户的信息。这张表的度数是多少?

    回答: 三

    点:1.00 问题 N38: 防御病毒攻击最常用的技术是什么?

    回答: 启发式检测

    点:0.00 问题 N39: 以下哪一种类型的攻击依赖于两个事件的时间差?

    回答: 蓝精灵

    点:0.00 问题 N40: 哪种类型的应用程序漏洞最直接允许攻击者修改 系统内存?

    回答: Rootkit

    点:0.00

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      • 2017-07-11
      相关资源
      最近更新 更多