相关疑难解决方法(0)

以锯齿形方式连接字符串列表的算法

我有以下问题:从字符串列表中,我必须从所有字符串中取第一个字母,之后(从后到前),我必须从前到尾取第二个字母,在第三个字母之后等等在。

示例输入:

['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)

python list python-3.x zigzag

2
推荐指数
1
解决办法
169
查看次数

将形状元组传递给Numpy`random.rand`

np.random.rand用来创建所需形状的矩阵/张量.但是,此形状参数(在运行时生成)是一个元组,如:(2,3,4).我们如何利用这个shapenp.random.rand

np.random.rand(shape)不起作用,会出现以下错误:

TypeError: 'tuple' object cannot be interpreted as an index

python random numpy

1
推荐指数
3
解决办法
5423
查看次数

如何对包含 Python 中元组列表的 Pandas DataFrame 列执行各种操作?

我有一个 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]

如何以最少的时间实现这一目标?我首先考虑使用 …

python python-3.x pandas

1
推荐指数
1
解决办法
30
查看次数

在python中查找一列数据的标准偏差

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)

python row mean multiple-columns standard-deviation

0
推荐指数
1
解决办法
4077
查看次数

转置文本块

我在字符串中有一个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循环之前,有一种更简单的方法吗?

python string

0
推荐指数
1
解决办法
1509
查看次数

SQLAlchemy 动态过滤查询

我陷入了这个数据库搜索问题:我有一个带有不同复选框的 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 中或只是忽略来动态地形成数据库查询。

请分享您对此类功能的可能实现的想法。谢谢您的时间。

python sqlalchemy pyqt5

0
推荐指数
1
解决办法
3833
查看次数

Python,传递给另一个函数的多个变量的简单示例

我知道之前已经解释过这个问题了,但是我仍然无法弄清楚我的场景,我解释的很简单:

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的变量?

python variables function

-1
推荐指数
1
解决办法
58
查看次数

使用范围打印[100,1000,10000]

我有这样一个清单:

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)

上面的代码不能按预期工作.

python

-3
推荐指数
1
解决办法
146
查看次数