【问题标题】:Retrieving the first digit of a number from list of numbers从数字列表中检索数字的第一个数字
【发布时间】:2019-11-03 01:05:22
【问题描述】:

我刚开始学习 Python,遇到了这个问题:

list = [144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025]

如何获得这些数字的第一个值/元素?例如:

[1, 2, 3, 6, 9, 1, 2, 4, 6, 1, 1, 2, 4, 7]

提前致谢!

【问题讨论】:

  • 您在哪一部分需要帮助:从列表中获取线索,或隔离数字的第一位?到目前为止,您尝试了哪些方法,结果如何?
  • 我正在尝试隔离这些数字的前几位。我尝试使用索引括号,但不确定如何正确使用它们。

标签: python-3.x list indexing


【解决方案1】:

先说一句:不要将变量命名为list。你隐藏了一个关键字。

您可以将每个数字转换为字符串并获取第一个字符:

def first_digit(num):
    return int(str(num)[0])

或者使用递归:

def first_digit(num):
    if num < 10:
        return num
    return first_digit(num // 10)

然后只需使用列表推导生成列表:

result = [first_digit(n) for n in lst]

【讨论】:

    【解决方案2】:

    我可以帮助您完成可能对您有帮助的步骤

    遍历列表

    为每个元素找到 Q=10 ^(元素的位数 - 1)

    除以上面的数值并记下商

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      • 2019-07-02
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多