我需要编写一个函数,它接受一个数字列表并将它们相乘.例子:
[1,2,3,4,5,6]会给我1*2*3*4*5*6.我真的可以使用你的帮助.
我一直在查看教程和书籍,但我没有提到内置的产品功能,即与sum()类型相同,但我找不到任何类似的东西prod().
我是唯一能通过导入mul()运营商找到列表中项目的产品的方法吗?
是否可以使用列表理解来模拟sum()之类的东西?
例如 - 我需要计算列表中所有元素的乘积:
list = [1, 2, 3]
product = [magic_here for i in list]
#product is expected to be 6
Run Code Online (Sandbox Code Playgroud)
执行相同的代码:
def product_of(input):
result = 1
for i in input:
result *= i
return result
Run Code Online (Sandbox Code Playgroud) 我正在尝试为神经元网络预处理数据集。因此,我需要将形状为 (2040906, 1) 的数组重塑为批次数组。
我需要大约 1440 行的批量大小,但 2040906 显然不能被该数字整除(余数为零)。
我试图只计算除法的模数并删除与余数一样多的行,因此除法将导致模数为零。但是删除数据集的行不是我想要做的。
所以这是一个重现问题的示例片段。
import numpy as np
x = np.ones((2040906, 1))
np.split(x, 1440)
Run Code Online (Sandbox Code Playgroud)
对我来说,完美的解决方案是某种函数,它返回余数为 0 的给定值的最近除数。
可以使用列表理解在单行中完成吗?
lst = [[1, 2, 3], [1, 2, 3, 4], [5, 6], [9]]
products = ?? (Multiple each list elements)
Run Code Online (Sandbox Code Playgroud)
期望的输出= [6, 24, 30, 9]
我尝试过类似的东西:
products = [l[i] * l[i + 1] for l in lst for i in range(len(l) - 1)]
Run Code Online (Sandbox Code Playgroud)
但没有奏效.
我使用Python 2.7,我有一个任务来编写一个使用多个线程来计算阶乘的函数。我尝试使用传统的递归方法来做到这一点,例如
def factorial(n):
if n < 1:
return 1
else:
return n * factorial(n - 1)
Run Code Online (Sandbox Code Playgroud)
但似乎这种方式不适合多线程。有什么方法可以使用多个线程来计算阶乘?
如果我有一个值,并且我想要的附加项列表乘以该值:
n = 10
terms = [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
是否可以使用列表推导来执行以下操作:
n *= (term for term in terms) #not working...
Run Code Online (Sandbox Code Playgroud)
或者是唯一的方法:
n *= reduce(lambda x,y: x*y, terms)
Run Code Online (Sandbox Code Playgroud)
这是在Python 2.6.2上.谢谢!
如何计算这个数字而不是枚举所有排列,然后创建集合以切断所有重复?
len(set(itertools.permutations('aaabbb')))
20
len(set(itertools.permutations('aabb')))
6
Run Code Online (Sandbox Code Playgroud) 我有一系列x,y和z坐标,我需要操纵它.它们位于三个元组的列表中,如{(x1,y1,z1),(x2,y2,z2),...}.
我需要加法,乘法和对数来操纵我的数据.
我想研究一个与Awk -language一样强大的模块.
假设我有一个10个整数的列表,我想要将前5个乘以的结果.有这样做的pythonic方式吗?Python似乎很棒的列表:)
我正在尝试编写一个程序来检查是否在较大的单词中找到较小的单词.例如,单词"computer"包含单词"put","rum","cut"等.为了执行检查,我试图将每个单词编码为素数的乘积,这样小的单词将全部是较大词的因素.我有一个字母列表和一个素数列表,并为每个字母分配(我认为)一个整数值:
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59,
61, 67, 71, 73, 79, 83, 89, 97, 101]
index = 0
while index <= len(letters)-1:
letters[index] = primes[index]
index += 1
Run Code Online (Sandbox Code Playgroud)
我现在遇到的问题是如何获取给定单词的整数代码,并能够为整个单词列表创建代码.例如,我希望能够输入单词"cab",并让代码生成其整数值5*2*3 = 30.
任何帮助将非常感激.
我试图将列表中的所有数字彼此相乘
a = [2,3,4]
for number in a:
total = 1
total *= number
return total
Run Code Online (Sandbox Code Playgroud)
输出应该是 24,但由于某种原因我得到 4。为什么会这样?