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

时间:2019-11-03 01:05:22

标签: python-3.x list indexing

我刚刚开始学习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]

谢谢!

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

我可以为您提供一些可能帮助您的步骤

遍历列表

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

将数字除以上述值并记下商数