是否可以在Java属性文件的下一行继续长字符串?
例如,不知何故
myStr=Hello
World
Run Code Online (Sandbox Code Playgroud)
当我得到getProperty("myStr")
它将返回"Hello World"?
它说,在Java教程"定义接口"中
如果未指定接口
public
,则只能在与接口相同的包中定义的类上访问您的接口.
但是,这个
interface PPInterface {
void foo();
void bar();
}
class NewClass implements PPInterface {
void foo() {}
void bar() {}
}
Run Code Online (Sandbox Code Playgroud)
生成编译器错误NewClass
因为我'试图分配较弱的访问权限; 是公开的.所以文档是错误的,或者我做错了什么,或者我误解了文档?
我想我不必使用界面 - 我喜欢它,因为它保持了良好的组织.
任何人都有一些简洁的字典示例,其中包含一些有趣的键(除了规范字符串或整数),以及您在程序中如何使用它们?
我理解一个关键所需要的东西hashable
,意味着它必须是不可变的和可比较的(有一个__eq__()
或一个__cmp__()
方法).
一个相关的问题是:我怎样才能快速,轻松地定义一个新的hashable
?
我有一个日期时间列表,我想从中构建时间段.换句话说,[t0, t1, ... tn]
变成[(t0,t1),(t1,t2),...,(tn-1, tn)]
.我这样做了:
# start by sorting list of datetimes
mdtimes.sort()
# construct tuples which represent possible start and end dates
# left edges
dtg0 = [x for x in mdtimes]
dtg0.pop()
# right edges
dtg1 = [x for x in mdtimes]
dtg1.reverse()
dtg1.pop()
dtg1.sort()
dtsegs = zip(dtg0,dtg1)
Run Code Online (Sandbox Code Playgroud)
问题...
mdtimes
使用列表推导复制原始列表是一种好习惯吗?如果不是应该怎么做?构建这些元组的目的是为了在它们之间迭代和段使用的数据集tn-1
和tn
.这是一种合理的方法吗?即
datasegment = [x for x in bigdata if ( (x['datetime'] > tleft) and (x['datetime'] < tright))] …
Run Code Online (Sandbox Code Playgroud)我正在从一组文本文件构建一个大型数据字典.当我阅读这些内容并处理它们时,我append(dataline)
会列出一个列表.
在某些时候会append()
产生Memory Error
异常.但是,观看程序在Windows任务管理器中运行,在崩溃时我看到4.3 GB可用和1.1 GB可用.
因此,我不明白异常的原因.
Python版本是2.6.6.我想,唯一的原因是它无法使用更多可用的RAM.如果是这样,是否可以增加分配?
默认情况下,使用g ++允许在堆栈上创建具有在运行时确定的大小的数组:
int size;
cout << "Enter array size: "
cin >> size;
MyObject stack_array[size];
Run Code Online (Sandbox Code Playgroud)
根据这个问题的答案,这是一个坏主意,我同意.显然我应该能够使用g ++标志来强制执行严格/标准的C++并获得编译器错误.即使使用以下标志,代码仍然可以编译:
g++ -ansi -pedantic -Wall -Wextra -Werror -std=c++0x
Run Code Online (Sandbox Code Playgroud)
如何防止编译此代码?
这是我的版本信息:
g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version …
Run Code Online (Sandbox Code Playgroud) 也许这不是什么大不了的事,但是这让我心碎:
deltas = data[1:] - data[:-1]
有了这个:
for i in range(len(deltas)):
if deltas[i] < 0: deltas[i] = 0
if deltas[i] > 100: deltas[i] = 0
Run Code Online (Sandbox Code Playgroud)
对于这个特殊的例子......有更好的方法来做清洁部分吗?
问题第二部分:如果清理规则比这个例子更复杂或更复杂,该怎么办?例如,我们可能只想将所有负数更改为零.或者,我们可能正在进行更复杂的映射.
使用Python和Numpy,我想:
权重以规则的numpy数组nx 1给出,因此矩阵中的每个向量m应乘以权重n.
这就是我所拥有的(测试数据;实际矩阵很大),这可能是非Numpy和非Pythonic.谁能做得更好?谢谢!
import numpy
# test data
mvec1 = numpy.array([1,2,3])
mvec2 = numpy.array([4,5,6])
start_matrix = numpy.matrix([mvec1,mvec2])
weights = numpy.array([0.5,-1])
#computation
wmatrix = [ weights[n]*start_matrix[n] for n in range(len(weights)) ]
vector_answer = [0,0,0]
for x in wmatrix: vector_answer+=x
Run Code Online (Sandbox Code Playgroud) 如何根据第三维/类别更改常规二维图的颜色?例如,假设我们随时间记录了车辆的冷却液温度。我们用横轴表示时间,纵轴表示温度。我们还记录了每次“高温指示灯”是打开还是关闭。当灯亮时,我们希望绘制的灯是红色的;如果指示灯熄灭,则为绿色。
它基本上是一个 3-D 数据图,我们将特定颜色的线分配给第三个数据维度 (z)。对于此特定应用程序,我不想查看具有 3 个轴的 3-D 图;只是一个普通的二维图,根据需要改变线条颜色。
如何创建一个numpy矩阵,其元素是其索引的函数?例如,乘法表:a[i,j] = i*j
Un-numpy和un-pythonic将创建一个零数组然后循环.
毫无疑问,有一种更好的方法可以做到这一点,没有循环.
然而,更好的是直接创建矩阵.
python ×7
numpy ×3
java ×2
list ×2
matrix ×2
arrays ×1
c++ ×1
dictionary ×1
g++ ×1
interface ×1
matplotlib ×1
memory ×1
properties ×1
tuples ×1
vector ×1