小编chr*_*ise的帖子

c ++在正向和反向迭代之间切换

我试图在前向和后向迭代之间切换,而不必在迭代中复制代码.

我尝试使用三元运算符,但它没有用

auto begin = reverse ? mPxSize::reverse_iterator :
                       mPxSize::iterator;
Run Code Online (Sandbox Code Playgroud)

(这是我的理解,它不喜欢不同的类型),所以我想知道是否有迭代器的基本版本我可以声明以下将工作

??? begin;
??? end;

if (reverse) {
    mPxSize::reverse_iterator begin = m_levels.rbegin();
    mPxSize::reverse_iterator end = m_levels.rbegin();
} else {
    mPxSize::const_iterator begin = m_levels.begin();
    mPxSize::const_iterator end = m_levels.begin();
}

for ( it = begin; it != end; it++ ) {
Run Code Online (Sandbox Code Playgroud)

我可以预先使用一些基数来预先设置迭代器吗?或者是否有一种简单的方法可以在这里使用模板(我不太清楚,我承认)

c++

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

如何在正则表达式的 grep 中查找每个文件的 grep 计数

通过正则表达式同时搜索多个文件时,如何显示每个文件的 grep 计数

grep -c -? somestring log*
Run Code Online (Sandbox Code Playgroud)

所以,如果我有 n 个文件 log_1、log_2、log_3、..、log_n 并且我 grep -c 查找某个字符串,那么我希望输出为

log_1 'result of grep -c in file log_1'
log_2 'result of grep -c in file log_2'
Run Code Online (Sandbox Code Playgroud)

我可以使用 grep 命令来完成此操作还是必须构建某种循环?

grep

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

重新初始化的类是否在与初始类相同的内存位置?

从这个问题

"重新初始化"/清理类实例的最短和最佳方法

"最短和最好的方法"重新初始化"/清理类实例"的答案是

myUsedInstance = myClass();
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:重新初始化后,是否保证内存地址相同?也就是说,如果我有一个指向的指针myClass*,myUsedInstance该指针是否会正确指向新初始化的对象,还是有什么我必须小心的?

c++

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

C++ deque迭代到倒数第二个元素

我试图迭代一个双端队列以排除最后一个条目.理想情况下,我会避免计算和比较长度,所以我试过

    auto it_end = dq.rbegin(); it_end++;
    for ( auto it = dq.begin(); it !=it_end; ) {
        if ( cond() ) {
            it = dq.erase( it );
        } else {
            it++;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但编译器抱怨没有匹配操作数,这似乎是可以理解的,因为我有一个反向迭代器和一个常规迭代器.是否有一种优雅的方法可以在最后一个避免计数的元素之前停止?像,偏移?我也试过回来了,但结果却是一个参考而不是迭代器,所以!=也不开心.

c++

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

kdb如何在select中有条件求和

如何在kdb中有条件求和,类似于以下sql查询

Select sum(qty > 0, qty, 0) as buy, sum(qty < 0, qty, 0) as sell from trades
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来做到这一点,没有任何where子句.

kdb

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

如果key == x,则为字典中的键:

我想知道是否有类似的方法在for循环中强制执行if子句,因为它在列表推导中.所以我希望有一个类似的结构

[ expression for item in list if conditional ]
Run Code Online (Sandbox Code Playgroud)

在一个循环中,所以......

for item in list if conditional:
    expression
Run Code Online (Sandbox Code Playgroud)

我知道我可以在下一行中添加条件,但是我想知道是否可以在for循环中构建它

python

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

通过列表理解修改属性

如果我有一个简单的课程

class test(object):
    def __init__(self):
        self.prop=False
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用

l=[a,b,c]
[c.prop=True for c in l]

for c in l:
    print c.prop
Run Code Online (Sandbox Code Playgroud)

它显示无效的symtax​​.但常规循环工作

for c in l:
     c.prop=True
Run Code Online (Sandbox Code Playgroud)

知道为什么列表理解在这里失败了吗?

python

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

在python中处理大量对象的最佳方法

处理同一类的大量实例的最佳方法是什么.目前,我将它们添加到列表中,然后循环遍历列表,如果我需要调用方法.

[o.method() for o in myObjects]
Run Code Online (Sandbox Code Playgroud)

有没有办法将它们作为一个集合处理,因为上面的内容可以被替换为类似的东西

myObjects.method()
Run Code Online (Sandbox Code Playgroud)

我虽然有一个metaClass而不是包含列表的那个列表并且这样做,但我想知道这是否有点令人费解.有没有一种首选的方法呢?

编辑:我一般不需要返回值

python

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

python使用__dict__获取对象属性

使用 py3,我有一个使用@property装饰器的对象

class O(object):
    def __init__(self):
        self._a = None

    @property
    def a(self):
        return 1
Run Code Online (Sandbox Code Playgroud)

访问属性 a via __dict__(with _a) 似乎不返回属性装饰值而是初始化值None

o = O()
print(o.a, o.__dict__['_a'])
>>> 1, None
Run Code Online (Sandbox Code Playgroud)

有没有通用的方法来完成这项工作?我主要需要这个

def __str__(self):
    return ' '.join('{}: {}'.format(key, val) for key, val in self.__dict__.items())
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

KDB如何在查询中使用$ []

如果我有一张桌子

t: flip `a`b`c!(til 10;10?(1b,0b);10?(1b,0b))
Run Code Online (Sandbox Code Playgroud)

我为什么要这样做

update x:?[b;1;?[c;3;0]] from t
Run Code Online (Sandbox Code Playgroud)

但不是

update x:$[b;1;c;3;0] from t
Run Code Online (Sandbox Code Playgroud)

[这会返回排名错误]

b:0b
c:1b
$[b;1;c;3;0]
Run Code Online (Sandbox Code Playgroud)

工作良好?

kdb

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

标签 统计

python ×4

c++ ×3

kdb ×2

grep ×1

python-3.x ×1