For循环返回奇数值

时间:2018-11-22 02:22:20

标签: python list loops for-loop append

我有两个要迭代的列表:

efw = [13.882352941176457, 10.854092526690406, 94.25675675675676, 17.851739788199694, 14.63844797178131, 8.166189111747846, 5.278592375366564, 3.4129692832764347, -6.413612565445015, 11.678832116788328, 23.859649122807003, 4.545454545454564, 10.105580693815996, -3.562340966921118, -0.6684491978609763, 2.285714285714291, 8.505747126436791]

gini = [3.9215686274509887, 6.190476190476191, -7.733812949640296, -16.608391608391603, -13.458262350936979, 7.505518763796926, -12.884615384615394, -20.21276595744681, -19.839679358717433, -10.885608856088568, -12.891986062717764, -15.56420233463035, -12.66540642722116, -12.802768166089962, -11.336032388663975, -13.507625272331147, -1.882845188284521]

我想根据+-中的值,用giniefw创建两个新列表。如果gini中的值为正,则应将+添加到g列表中。与eefw列表相同。我尝试过:

g = []
e = []
for n in gini:
    if n > 0:
        g.append("+")
    g.append("-")

for f in efw:
    if f > 0:
        e.append("+")
    e.append("-")

但是对于gini中的一些正值,有一个-符号...为什么for循环将错误的符号附加到新列表中?

1 个答案:

答案 0 :(得分:2)

添加else即可解决。

g = []
e = []
for n in gini:
    if n > 0:
        g.append("+")
    else:
        g.append("-")


for f in efw:
    if f > 0:
        e.append("+")
    else:
        e.append("-")