我需要对数组中的一系列元素进行一些计算。
所以,在我的views.py中,我的代码是:
(...)
for f in enumerate(array)
calc1 = value_x
calc2 = value y
(...)
并且,当我打印calc1时,例如,我的输出返回
1
1
1
1
1
0.98
1
1
1
1
1
1
并且,我的输出必须像这样
['1', '1', '1', '1', '1', '0.98', '1', '1', '1', '1', '1', '1']
我已经尝试过像
这样的事情testLi = []
for f in enumerate(array):
testLi.append(str(TPR_class))
print 'testLI {}'.format(testLi)
但它给了我
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['0.98', '0.98', '0.98', '0.98', '0.98', '0.98', '0.98', '0.98', '0.98', '0.98', '0.98', '0.98']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
testLI ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1']
有人可以帮帮我吗?
谢谢。
答案 0 :(得分:0)
由于您需要将值输出作为列表,我建议使用列表推导而不是for循环,如果可能的话。它更快更容易阅读,它应该产生你想要的结果。例如,如果您需要打印的值存储在 array 中,我将使用以下代码:
[str(x)for x in array]
通过在代码周围使用硬括号,每个值都会在评估后编译为一个列表作为字符串值。
希望这证明对你有帮助。
答案 1 :(得分:0)
使用enumerate()将包含索引的元组及其值(0,'item1')(1,'item2')等返回到数组中。但是考虑到你对'x'的兴趣,我会去假设您的输入实际上是一个字典,并且您对一个键列表感兴趣('key1','item1')('key2','item2')等。
如果您使用的是Python3,请在字典上使用items()来获取序列上的迭代器。并使用键的循环快捷键,值随着循环的进行立即提取键和每个项的值。
然后使用list comprehensions,您可以在一行中构建最终列表:
mydict = {'a':'b','c':'d','f':'g'}
print([str(x) for x,y in mydict.items()])
如果您不需要值部分而只需要键,则可以简化为
print([str(key) for key in mydict])