小编Jin*_*Jin的帖子

数组中连续元素的最大乘积

我在现场采访中被问到这个算法问题.由于我没有被要求签署NDA,我在这里发布答案.

给定一个不包含0 的REAL数组,找到产生最大乘积的连续元素.算法应该在线性时间内运行

我考虑过以下方法:使用两个数组.第一个是使用DP构思记录当前最大绝对值乘积,第二个阵列记录到目前为止遇到的负元素数.最终结果应该是最大的最大绝对值,负数的数量应该是偶数.

我认为我的方法会起作用,但在编码期间被打断说它不起作用.请告诉我上述方法中缺少的内容.

algorithm

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

Python中嵌套列表的总和

我尝试总结嵌套元素的列表

例如,数字= [1,3,5,6,[7,8]],总和= 30

我写了以下代码

def nested_sum(L):
    sum=0
    for i in range(len(L)):
       if (len(L[i])>1):
          sum=sum+nested_sum(L[i])
       else:
          sum=sum+L[i]
    return sum
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了以下错误:'int'类型的对象没有len()我也试过len([L [i]]),仍然无法正常工作

有人可以帮忙吗?顺便说一下,它是Python 3.3

python list python-3.3

7
推荐指数
4
解决办法
2万
查看次数

有效地迭代python嵌套列表

我正在使用Python进行网络流量监控项目.不熟悉Python,所以我在这里寻求帮助.

简而言之,我正在检查流量和流量,我这样写:

for iter in ('in','out'):
        netdata = myhttp()
        print data
Run Code Online (Sandbox Code Playgroud)

netdata是一个由嵌套列表组成的列表,其格式如下:

[ [t1,f1], [t2,f2], ...]
Run Code Online (Sandbox Code Playgroud)

这里t代表的是时刻,f是流动.但是我只想在这个时刻保留这些f进行内外,我想知道如何获得有效的代码.

经过一些搜索,我认为我需要使用创建流量列表(2个元素),然后使用zip函数同时迭代这两个列表,但是我很难写出正确的列表.由于我的netdata是一个很长的列表,效率也非常重要.

如果有任何令人困惑的事情,请告诉我,我会尽力澄清.感谢帮助

python nested-lists

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

覆盖 y 轴刻度标签而不影响 pyplot 中的图形形状

我想要手动覆盖 y 轴刻度标签而不影响原始绘图。\n例如,如何显示 y 轴刻度标签 [1,10,100,1000,10000] 而不会影响原始绘图形状,即仍然显示完美的二次曲线。

\n\n
import numpy as np\nimport pylab as pl\nx = [1, 2, 3, 4, 5]\ny = [1, 4, 9, 16, 25]\npl.plot(x, y)\npl.title(\xe2\x80\x99Plot of y vs. x\xe2\x80\x99)\npl.xlabel(\xe2\x80\x99x axis\xe2\x80\x99)\npl.ylabel(\xe2\x80\x99y axis\xe2\x80\x99)\npl.show()\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试了以下方法但不起作用

\n\n
newYlabel = ['1','10','100','1000','10000']\np1.set_yticklabels(newYlabel)\n
Run Code Online (Sandbox Code Playgroud)\n

python plot matplotlib

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

Python Plot:如何删除不在圆圈内的网格线?

在此处输入图片说明出于视觉效果的目的,我希望我可以删除圆圈外的网格,只保留圆圈内的网格。

顺便说一句,如何用红色填充单元格 ([8,9],[9,10]),我的意思是,x=8 右侧和 y=9 下方的单元格。

我的代码在下面,还附上了当前的图像。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.transforms import BlendedGenericTransform

fig, ax = plt.subplots()

ax.text(0, -0.02, 'y', transform=BlendedGenericTransform(ax.transData, ax.transAxes), ha='center')
ax.text(1.01, 0, 'x', transform=BlendedGenericTransform(ax.transAxes, ax.transData), va='center')

ax.set_xticks(np.arange(0,side+1,1))
ax.set_yticks(np.arange(0,side+1,1))
plt.grid()

ax.xaxis.tick_top()
plt.gca().invert_yaxis()

circle = plt.Circle((15, 15), radius=15, fc='w')
plt.gca().add_patch(circle)

fig.set_size_inches(18.5, 10.5)
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

从python中的字符串中提取英文单词

我有一个文档,每一行都是一个字符串。它可能包含数字、非英文字母和单词、符号(如 ! 和 *)。我想从每一行中提取英文单词(英文单词用空格分隔)。我的代码如下,这是我的map-reduce作业的map函数。但是,根据最终结果,此映射器函数仅生成字母(例如 a、b、c)频率计数。谁能帮我找到错误?谢谢

import sys
import re

for line in sys.stdin:
    line = re.sub("[^A-Za-z]", "", line.strip())
    line = line.lower()
    words = ' '.join(line.split())
    for word in words:
        print '%s\t%s' % (word, 1)
Run Code Online (Sandbox Code Playgroud)

python regex mapreduce

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

在pandas系列中缺少值检查

我使用pandas包生成了这样的交通流量系列:

data = np.array(data)
index = date_range(time_start[0],time_end[0],freq='30S')
s = Series(data, index=index)
Run Code Online (Sandbox Code Playgroud)

样本输出如下:

2013-07-02 10:04:30     13242.0
2013-07-02 10:05:00     12354.3    
...................     .......
Run Code Online (Sandbox Code Playgroud)

这里第一列是索引,第二列是值.我的任务是收集他们的价值观(第二栏)缺失的所有时刻.

我的想法是这样的:

for i in s:
   if isnull(i):
      s.iloc['i'] 
Run Code Online (Sandbox Code Playgroud)

但'无'不能用来引用索引......

如果缺失值和s都很大,这会导致效率吗?有更好的主意吗?

python series pandas

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

在这个hive表的类别和限制5中排序

我有一个hive表A,其中包含以下列

USER   ITEM    SCORE
U1      I1       S1
U1      I2       S2
...................
Run Code Online (Sandbox Code Playgroud)

我想要的是表格B这样的格式

USER    ITEMS    #ITEMS is an array
 U1     [I2,I3,...]   # items are sorted according to score in descending and limit 5
Run Code Online (Sandbox Code Playgroud)

对于用户少于5个项目,只需将项目按降序排列.

sql hive nosql

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

如何并行化我的python代码

我有一个大文件作为我的python代码的输入,它将生成相应的输出文件.但是,它需要太多时间,我想加快速度.

现在,我将大文件拆分为1000个较小的文件.我想有一个小脚本,将启动1000个线程,每个线程使用我原来的python代码,并有自己的输出文件.

谁能给我一个示例/示例代码?

python multithreading

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