2

指標関数をリストに適用する簡単な方法はありますか? つまり、いくつかの数値を含むリストがあり、同じサイズの別のリストを返したいと考えています。たとえば、元のリストに正の数が含まれていたリストと、元のリストに負の数が含まれていたゼロが含まれています。

4

3 に答える 3

10

リスト内包表記を使用するだけです:

>>> orig = [-3, 2, 5, -6, 8, -2]
>>> indic = [1 if x>0 else 0 for x in orig]
>>> indic
[0, 1, 1, 0, 1, 0]
于 2012-12-23T02:48:27.290 に答える
8

リスト内包表記!

bysign = [int(x >= 0) for x in somelist]

これがデモです。

于 2012-12-23T02:48:54.790 に答える
1

あなたの例の結果を生み出すために、私はおそらくやったでしょう

cmp_list=map(cmp, your_list)
one_zero_list=[]
for item in cmp_list:
    if item < 0:
        one_zero_list.append(0)
    elif item==0:
        one_zero_list.append(0) #you didnt actually say what to do with 0
    else:
        one_zero_list.append(1)
于 2012-12-23T03:39:23.633 に答える