我有以下问题:从字符串列表中,我必须从所有字符串中取第一个字母,之后(从后到前),我必须从前到尾取第二个字母,在第三个字母之后等等在。
示例输入:
['abcd', 'efgh', 'ijkl', 'mnop']
Run Code Online (Sandbox Code Playgroud)
输出应该是:
'aeimnjfbcgkoplhd'
Run Code Online (Sandbox Code Playgroud)
到目前为止,第一个“for”附加到数组:aeim 和 cgko,第二个“for”附加到数组:njfb 和 plhd。反正顺序不好,我需要aeim + njfb + cgko + plhd
array = []
if len(list_of_strings[0]) % 2 == 0: # if we have strings with even number of letters
for j in range(len(list_of_strings[0]/2)): # range(2) in our example
for i in range(len(list_of_strings)): # range(4) in our example
array.append(list_of_strings[i][j*2])
for j in range(1, len(list_of_strings[0]), 2): # range(1, 4, 2) in our example
for i in range(len(list_of_strings) - 1, -1, -1): # range(3, …Run Code Online (Sandbox Code Playgroud) 我np.random.rand用来创建所需形状的矩阵/张量.但是,此形状参数(在运行时生成)是一个元组,如:(2,3,4).我们如何利用这个shape在np.random.rand?
做np.random.rand(shape)不起作用,会出现以下错误:
TypeError: 'tuple' object cannot be interpreted as an index
我有一个 Pandas DataFrame,其中一列resources包含一个元组列表。例如,采用以下 DataFrame:
df = pd.DataFrame({"id": [1, 2, 3],
"resources": [[(1, 3), (1, 1), (2, 9)],
[(3, 1), (3, 1), (3, 4)],
[(9, 0), (2, 6), (5,5)]]
})
Run Code Online (Sandbox Code Playgroud)
现在,我想将以下列添加到我的 DataFrame 中,其中包含以下内容:
first包含一个列表的列,其中元组的第一个元素是唯一的resources(所以基本上是所有第一个元素的集合)second包含一个列表的列,其中包含元组的唯一第二个元素resources(因此基本上是所有第二个元素的集合)same包含resources具有相同第一个和第二个元素的元组数的列different包含resources具有不同第一和第二元素的元组数的列所需的输出列如下所示:
first: [[1, 2], [3], [9, 2, 5]]second: [[1, 3, 9], [1, 4], [0, 6, 5]]same: [1, 0, 1]different: [2, 3, 2]如何以最少的时间实现这一目标?我首先考虑使用 …
A.append([(float(a) + float(b) + float(c))/3,
(float(d) + float(e) + float(f))/3,
(float(g) + float(h) + float(i))/3,
(float(j) + float(k) + float(l))/3,
(float(m) + float(n) + float(o))/3,
(float(p) + float(q) + float(r))/3,
(float(s) + float(t) + float(u))/3])
def mean(A):
positives = [b for b in A if b >= 0]
E.append((len(positives)) / (len(A))*100)
if positives:
return sum(positives) / len(positives)
else:
return 0
C = map(mean, zip(*A))
print C
#3 sigma check
def sigma(A):
positives = [b for b in A if b …Run Code Online (Sandbox Code Playgroud) 我在字符串中有一个1和0的块:
1111110000111111
1110110110110111
1101010110101011
1011100110011101
0001111111111011
1000110111110111
0100010011110000
0110000001111110
0111000000110110
0000100010010100
1110110011000111
1101111111100011
1011100110000011
1101010111100001
1110110110111101
1111110000111111
Run Code Online (Sandbox Code Playgroud)
我想转置它,好像它是一个矩阵 - 但保持在字符串中.
在我开始编写嵌套for循环之前,有一种更简单的方法吗?
我陷入了这个数据库搜索问题:我有一个带有不同复选框的 PyQt5 小部件。它们中的每一个都代表我数据库中的一列。例如,“worker_name”和“department”。复选框放置在行编辑附近,因此用户可以在该行编辑中插入一些文本,然后单击复选框和“查找”按钮。
比方说,用户在 lineEdit 中插入“John”,然后按“worker_name”复选框并通过以下方式获取该工人的所有文档
session.query(Doc).filter_by('worker_name'=text_from_lineEdit)
Run Code Online (Sandbox Code Playgroud)
如果用户在两个行编辑中插入文本并按下两个复选框(“worker_name”和“department”),查询将如下所示:
session.query(Doc).filter_by('worker_name'=text_from_lineEdit, 'department'=text_from_lineEdit_2)
Run Code Online (Sandbox Code Playgroud)
但是,如果我有很多复选框(与数据库表中的列一样多)并且我不知道其中哪些会被按下,哪些不会被按下,该怎么办?在这种情况下我应该如何形成查询?我的意思是我将有“wrk_name”、“department”和“date”,用户只能通过“worker_name”或“worker_name”+“date”或所有复选框进行搜索。
有没有什么方法可以根据给出的参数以及不将它们包含在“filter_by”/“filter 中或只是忽略来动态地形成数据库查询。
请分享您对此类功能的可能实现的想法。谢谢您的时间。
我知道之前已经解释过这个问题了,但是我仍然无法弄清楚我的场景,我解释的很简单:
def func1 ():
a = 1
b = 2
print a + b
def func2 ():
c = 3
d = 4
e = a * c
f = b + d
func1()
func2()
Run Code Online (Sandbox Code Playgroud)
当像这样运行时:
$ ./test1.py
3
Traceback (most recent call last):
File "./test1.py", line 18, in <module>
func2()
File "./test1.py", line 14, in func2
e = a * c
NameError: global name 'a' is not defined
Run Code Online (Sandbox Code Playgroud)
简单的问题是,如何更改上面的代码,以便func2存储来自func1的变量?
我有这样一个清单:
for i in [100, 1000, 10000]:
print(i)
Run Code Online (Sandbox Code Playgroud)
我怎么能用范围重现它
for i in range(100, 10000, 100)
print(i)
Run Code Online (Sandbox Code Playgroud)
上面的代码不能按预期工作.