我正在使用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,
我正在尝试为文件中特定长度的基序中看到的每个DNA核苷酸(A,G,C,T)创建一个列表,每个核苷酸的列表计算核苷酸在每个位置出现的频率。
示例:
>this line of the file should be ignored, will always start with >
AGTCCCGCCCGGAG
>this is start of next seq
GGTCAGTCAAAAGTGAGCC
我希望我的代码从它在序列中遇到的第一个'GT‘开始(这里是位置1,2),并开始A,G,T和C的每个列表。对于每个位置直到给定的长度(由用户输入),该核苷酸的列表中的值将
我有一个名字列表,使用random.choice(),我可以从列表中得到一个随机元素。现在,我试图找出给定元素位于列表中的索引。到目前为止,这就是我所拥有的:
import random
x = ['Jess','Jack','Mary','Sophia','Karen','Addison','Joseph','Eric','Ilona','Jason']
y = random.choice(x)
print(y)
我正在使用Python 3和熊猫,我想在列表中创建一个列表,方法是迭代一个数据帧列表,并提取符合我的标准的索引。我得到的错误“列表索引必须是整数或切片,而不是str”。我认为函数工作得很好,但是for循环不工作。我需要函数在dataframe中读取列,查找小于或等于0.05的值(在第5栏中标题为“P>|z|”),并创建符合该标准的索引列表。
def list_of_new_variables(maker_df):
# Create a list with only significant p values
newlist = list(make_results[make_
我在试着申请未来的选择。问题是,使用整个数据帧会导致内存错误。因此,我决定削减我的数据,以便能够应用下一个未来的选择:
# this is original dataframes
X_full = df_train[df_train.columns[0:size]] # 76000(rows)*300(cols)
y_full = df_train[[len(df_train.columns)-1]] # 76000(rows)*1(col)
y_full包含0和1,数字1低于5%。所有其他列都只包含数字,但我们不知道它们的意思。
#this is way, I reduce the numb
我有两份名单
chr=(1 2 3) # either chr=(1 2 3) or chr=({1..3}) is fine
pos=(2 3 5)
我想要输出
1
1
2
2
2
3
3
3
3
3
一个列表的第一个元素重复的次数与另一个列表中的第一个元素一样多,依此类推。输出到不同的线条。
我在努力
for i in "${chr[@]}"; for p in "${pos[@]}"; eval printf \"\$i%.0s \" {1..$p};done; done
和
while read line; do
我正试图将列表的范围存储为一个变量,但我一直很难在网上研究这个问题,并且很难理解如何做到这一点。我有一份名单。
Score = [0,0,0,0]
players = #code that takes amount of different scores in the list SCORE into the variable players
如何将数字的数量存储到另一个变量中。或使用变量创建具有此数量的数字的列表。
print 'how many players are there'
input = () #user inputs amount of players
#code
我试图将一个包含整数的列表中的所有元素除以另一个整数(类似于numpy数组中的功能)和列表理解,如下所示:
results = 300 * [0]
for i in range(100):
for j in range(300):
results[j] += random.randrange(0,300)
average_results = [results[x] / 100 for x in results]
但是,如果我在Python中运行这个程序,它会抛出
IndexError: list index out of range
我使用了一个普通的for循环来解决这
__contains__是如何工作的?例如,我有一个类MyClass和这个类的实例a,在编写if val in a:时,我基本上是在调用__contains__,根据我的理解,如果没有在类中实现__contains__,则调用__iter__,它在__getitem__返回的列表(在我的示例中是在类中实现)和如果val等于列表的某些元素之间迭代,那么__contains__返回True。是对的吗?
编辑:代码中的__getitem__只返回给定位置的列表元素,所以我不知道如何与__iter__一起工作
我必须用Python构建一个完整的MIN堆实现,而不使用内置堆函数。
因此,我得到了父、左和右子的定义,其中考虑到python数字列表元素来自0:
from random import randint
import math
def parent(i):
x = int(l.index(l[i])) #########3
y = int(math.floor(x/2))
return y-1
def lchild(i):
x = int(l.index(l[i]))
y = int(math.floor(x*2))
return y-1
我想要对这段代码或者类似的代码有一个简洁的列表理解!
extra_indices = []
for i in range(len(indices)):
index = indices[i]
extra_indices.extend([index, index + 1, index +2])
谢谢!
编辑*索引是一个整数列表。另一个数组的索引列表。
例如,如果索引是1,52,150,那么目标就是(在这里,这是我第二次希望在列表理解中对连续索引的输出执行两个单独的操作)
则extra_indices将为1、2、3、52、53、54、150、151、152
我从大表中选择数组/列表中的id。检查了几个变体,结果很奇怪。
1.使用任意和数组
EXPLAIN (ANALYZE,BUFFERS)
SELECT * FROM cca_data_hours
WHERE
datetime = '2018-01-07 19:00:00'::timestamp without time zone AND
id_web_page = ANY (ARRAY[1, 2, 8, 3 /* ~50k ids */])
结果
"Index Scan using cca_data_hours_pri on cca_data_ho
给定N 64位无符号整数,我希望将它们有效地存储在数据结构D中,并能够执行以下查询:
给定一个整数,返回D中至少具有相同的k最有效位的所有整数。
例如,如果有一个包含3个64位整数的列表:
a. 1010010000000000010000000000000000000000100000000000000000000001
b. 0000000100001000000000010000000000000000000000000000000000000001
c. 1010010100000000000000010000000000000000000000000000000000000001
查