从数字列表中检索数字的第一位数字

问题描述 投票:-1回答:2

我刚开始学习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
2个回答
0
投票
的第一个值/元素

首先,请不要将变量命名为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]

0
投票

我可以帮助您采取可能帮助您的步骤

遍历列表

对于每个元素,找到Q = 10 ^(元素中的位数-1)

将数字除以上面的值并记下商

© www.soinside.com 2019 - 2024. All rights reserved.