相关疑难解决方法(0)

if/else在Python的列表理解中?

如何在Python中执行以下操作?

row = [unicode(x.strip()) for x in row if x is not None else '']
Run Code Online (Sandbox Code Playgroud)

实质上:

  1. 用空字符串替换所有Nones,然后
  2. 执行功能.

python list-comprehension

791
推荐指数
8
解决办法
65万
查看次数

是否可以在python列表理解中使用'else'?

这是我试图变成列表理解的代码:

table = ''
for index in xrange(256):
    if index in ords_to_keep:
        table += chr(index)
    else:
        table += replace_with
Run Code Online (Sandbox Code Playgroud)

有没有办法将else语句添加到此理解中?

table = ''.join(chr(index) for index in xrange(15) if index in ords_to_keep)
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

190
推荐指数
4
解决办法
10万
查看次数

在三元运算符中模拟传递?

我正在创建一个列表理解,我从字典中获取键列表,忽略某些指定的键。

[x if x not in ignoreKeys else None for x in entity]
Run Code Online (Sandbox Code Playgroud)

我目前正在使用 else None 作为我不附加被忽略的键的方式,但理想情况下我会让列表理解通过该迭代。不幸的是 pass 给出了一个语法错误,所以我想知道是否有某种方法可以模拟 pass 功能?

python python-2.7

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

将字符串拆分为各种数据类型

我想转换以下字符串:

s = '1|2|a|b'
Run Code Online (Sandbox Code Playgroud)

[1, 2, 'a', 'b']
Run Code Online (Sandbox Code Playgroud)

是否可以在一行中进行转换?

python string list

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

python使用list comprehensions或其他东西替换列表中的空白?也是嵌套列表解决方案

a = [None, None, '2014-04-27 17:31:17', None, None]

试图取代None''

尝试了很多次,这是我得到的最接近的.b= ['' for x in a if x==None]这给了我四个,''但没有留下日期

我认为它会b= ['' for x in a if x==None else x]但不起作用.

如果嵌套如下:

a = [[None, None, '2014-04-27 17:31:17', None, None],[None, None, '2014-04-27 17:31:17', None, None],[None, None, '2014-04-27 17:31:17', None, None]]

你还能使用列表推导吗?

python list-comprehension

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

是否存在基于abs值的ceil()函数,如trunc vs floor或round-away-from-zero函数?

numpy.trunc 是一个基于abs值的floor函数:

a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
np.floor(a)
Out[122]: array([-2., -2., -1.,  0.,  1.,  1.,  2.])
np.trunc(a)
Out[123]: array([-1., -1., -0.,  0.,  1.,  1.,  2.])
Run Code Online (Sandbox Code Playgroud)

ceil输出是这样的:

np.ceil(a)
Out[124]: array([-1., -1., -0.,  1.,  2.,  2.,  2.])
Run Code Online (Sandbox Code Playgroud)

但我想要一个输出:array([ - 2., - 2.,-1.,1.,2.,2.,2.])这个numpy函数是什么?

编辑:不幸的是,零函数没有内置圆.基于@Mitch和@Divakar的答案,我做了一些测试,并尝试优化速度和内存使用.

def rawzero1(a): #@Mitch
    return np.sign(a)*np.ceil(np.abs(a))


def rawzero2(a): #@Divakar
    return np.where(a<0, np.floor(a), np.ceil(a))


def rawzero3(a):
    _a = np.abs(a)
    np.ceil(_a, _a) # inplace
    np.copysign(_a, a, out = _a)
    return _a


def rawzero4(a):
    _a = np.ceil(np.abs(a))
    np.copysign(_a, a, …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

标签 统计

python ×6

list-comprehension ×3

list ×1

numpy ×1

python-2.7 ×1

string ×1