#create a simple list in python
#list comprehension
x = [i for i in range(100)]
print (x)
#using loops
squares = []
for x in range(10):
squares.append(x**2)
print (squares)
multiples = k*[z for z in x] for k in squares
因此,在最后一行代码中,我试图将这两个列表相乘。问题是列表不是同一边的,x中的k*z对于z也是不正确的。
在代码中使用Python中的嵌套列表时,我遇到了一些问题。
基本上,我有一个包含所有0值的2D列表,我想在循环中更新列表值。
然而,Python没有产生我想要的结果。我对range()和Python列表索引有什么误解吗?
some_list = 4 * [(4 * [0])]
for i in range(3):
for j in range(3):
some_list[i+1][j+1] = 1
for i in range(4):
print(some_list[i])
我期望的结果是:
[0, 0, 0, 0]
[0, 1, 1, 1]
[0, 1, 1,
我正在使用Python3.8。
考虑一个(严格的)正整数列表,例如
L = [1,2,3,4,5]
我的任务是计算一个新的列表,以便它的ith元素是L中所有元素的乘积,而不是ith元素。因此,对于L给定,我们的结果是
R = [120, 60, 40, 30, 24]
很明显,我可以
R = [functool.reduce(operator.mul, [L[ix] for ix in range(len(L)) if ix != k]) for k in range(len(L))]
然而,这具有二次时间复杂度。
从数学上讲,简单地乘以L的所有元素,然后用L的每一个元素除以这个乘积来构造R,
我的任务是仅使用基本的python函数(不使用numpy)生成以下列表。下面是我的所有代码:
#1.Create a list which contains i^2 with i = 1 through 5
squares = [pow(i,2) for i in range(1,6)]
#print squares
#2. Create a list which contains log[j] with j = 1 through 5
logs = map(math.log10,range(1,6))
#print logs
#3. Create a list which contain
上下文
El Gamal方法的解密数学公式如下:
m = ab^(-k) mod p
特别是在Python中,我想计算以下等价的内容:
>>> m = (b**(-k) * a) % p
上述Python代码中的问题是,插入的数字由于精度原因会溢出或导致0.0。请考虑以下示例:
>>> (15653**(-3632) * 923) % 262643
0.0
上述示例的预期答案是152015。
更多的例子
尝试
我试图研究一种解决这个问题的策略,并发现使用Python的默认pow(x,y,z) (与math.pow()不同)可以提供帮助。
pow(x
我是python编程语言的新手,目前我在列表上编写product的python函数时遇到了麻烦。
给定aList = 1,2,3,4,5,我们需要编写一个python函数" product“来返回列表中各项的乘积。例如,product(aList1:3)将返回24。
我已经做了研究,但到目前为止我还没有弄清楚。这是我想出来的,但它是错误的。
def product(l):
p = 1
for i in range(0, len(l)):
p = p*i
return p
print(product(aList[1:3])
你知道我怎样才能得到想
我试图用python编写一个使用列表和数字的成员资格测试函数。但它并没有产生预期的结果。我希望得到True或False,但它显示为“None”。任何建议都将不胜感激。谢谢。
下面是我在代码中写的内容:
def bln(x,num):
x = []
num = int()
if (num in x):
return True
num = 4
x = [i for i in range (1,5)]
print(x)
y = bln(x,num)
print(y)
输出:
[1, 2, 3, 4]
None
我有一个逻辑test列表和一个相同长度的索引i列表。现在我想选择a[i] where test == True。我自然使用np.where,例如: import numpy as np
a = np.arange(4)
test = np.array([True, False, False, True])
i = np.array([0, 0, 0, 0])
b = np.where(test, a[i], -1)
print(b) 但是现在我遇到了这样的情况,i中的索引不是a where test == False的有效索引。例如。 test = np.array([True, Fal
我正在试着想出一个公式,它可能使用sumproduct函数和另一个函数的组合。
让我首先解释一下我有什么和我想要什么。如果我在一列中有3个或更多产品编号的列表,我希望excel在2个不同的列中找到产品编号,如果它们在那里列出,我希望excel进行乘法和求和。
我目前正在使用这个公式:
=SUM(SUMPRODUCT(($B$27:$B$46='Lists for Estimates'!K2)*($E$27:$E$46*$A$27:$A$46))
+SUM(SUMPRODUCT(($F$27:$F$46='Lists for Estimates'!K2)*($I$
我有一个像这样的数据框架
> data
A B
1 1 2
2 2 1
我有一个参考数据框架,如下所示
> ref
Names Values
1 A 5
2 B 10
我希望在具有相同名称的参考文献中将每一列乘以相应的行。
结果应该是
> result
A B
1 5 20
2 10 10
在Python中实现这一目标的最快方法是什么?任何帮助都将不胜感激。
我正在尝试更高效地在python中填充数组。我有一个5x3矩阵A,我正在通过独立计算z11,z12,...,z33将其转换为3x3矩阵(Z)。下面的代码可以工作,但它很笨拙,我希望将其自动化到一个循环中,以便它可以接受任意大小的A矩阵(n X m),并将其转换为大小为(m X m)的Z矩阵。如果有人能帮助我,我将不胜感激! import numpy as np
A = np.array([[1,0,0],
[0,1,0],
[0,1,1],
[0,0,-1],
[0,0,1]])
A1=A[:,0]
A2=A[:,1]
A3=A[:,2]
C = np.array([-
这一次,我正在尝试使用python获得最大配对的产品,某些方面的概念对我来说仍然是新的。我继续得到一个列表索引越界错误和堆栈溢出,我不知道如何处理,因为我不能在Python中选择类型。 我研究了枚举和其他迭代(Ble)函数,但都无济于事。Id回答这可以帮助未来的人在从C到python的迁移中解决简单的for循环问题。 def max_pairwise_product(numbers):
n = len(numbers)
max_product = 0
for first in range(n):
for second in range(first +
用python对矩阵进行奇异值分解求解。我的代码不工作,它说矩阵不对齐
>>> from numpy import*
>>> from numpy.linalg import qr
>>> A = mat([[1.,2.],[4.,5.],[7.,8.]])
>>> U,s,V =linalg.svd(A)
>>> S = diag(s)
>>> print U
[[-0.17259857 0.89640564 0.40824829]
[-0.50818671 0.2740065
我有一个包含一些书名及其作者的列表,但我希望它看起来井井有条,所以我希望它采用书名,然后用空格结束,以便以100个字符结束,与书名的长度无关。然后,它会添加书名。
到目前为止,我已经尝试过了:
for i in range(0, len(bookList)):
t = 100 - len(bookList[i])
numbofspaces = ""
for j in range(0, t):
numbofspaces += " "
s.append(bookList[i] + numbofspaces + aut
可能是一个我以前找不到答案的简单问题……
我正在格式化一个表格(文本格式),如下所示:
Timestamp: Word Number
timestamp之后和数字开头之间的字符数为20,包括单词中的字符(以便保持对齐)。我使用python做到了这一点:
offset = 20 - len(word)
printer = timestamp + ' ' + word
for i in range(0, offset):
printer += ' '
printer +=