在python中,将列表中的每一个数字相乘

2024-10-03 19:27:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着得到0到100000之间的数字列表。然后我要乘以列表的每一秒。我不知道如何得到数字的第二位数。在

def breakandSum():
  if 0<=x<100000:
      digits=(map(int,str(x)))
      return digits

Tags: map列表returnifdef数字intdigits
1条回答
网友
1楼 · 发布于 2024-10-03 19:27:48

要获得以10为基数的第二个数字,首先将数字修改为100以截断前导数字,然后取整数结果并除以整数10以截断后面的数字。在

下面是一个快速示例,其中x=4567从右侧提取第二个以10为基数的数字,或“十”位数,在本例中为“6”:

>>> x = 4567
>>> x = x % 100
>>> x = x / 10
>>> print x
6

如果要将所有数字放入列表中,只需提取最右边的数字,将其附加到列表中,然后截断并继续循环,如下所示:

^{pr2}$

从这里,您可以使用列表理解和过滤器获得每一个第二位数:

>>> every_other_digit = [xdigit[i] for i in filter(lambda j: j % 2 == 0, range(len(xdigit)))]
>>> print every_other_digit
[7, 5]

如果您需要将这些数字相乘,您现在只需在列表上进行迭代即可得到最终产品:

>>> answer = 1
>>> for k in every_other_digit: answer *= k
...
>>> print answer
35

相关问题 更多 >