首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解包数组值

解包数组值
EN

Stack Overflow用户
提问于 2019-08-23 18:41:53
回答 3查看 73关注 0票数 0

我正在尝试解开这个数组[0.07338447][0.92661554]

我已经找到了一种方法,但效率很低。我正在寻找更有效的方法来解决这个问题。谢谢。

代码语言:javascript
复制
i = 0
myres = [[[[0.07338447]] [[0.92661554]]]]
for  value in enumerate(myres[0]):
    print("value", value)
    for value1 in enumerate(value[1]):
        for count, value2 in enumerate(value1[1], 100):
            print(count, value2)
            print("value2", value2)
            print("I value", i)
            if (i == 0):
                ageValue = value2
                print("ageValue", ageValue)
            else:
                GenderValue = value2
                print("GenderValue", GenderValue) 
            i = i+1
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-23 18:47:10

代码语言:javascript
复制
import numpy as np

myres = [[[[0.07338447]], [[0.92661554]]]]
arr = np.array(myres).flatten()
val1, val2 = arr
票数 1
EN

Stack Overflow用户

发布于 2019-08-23 18:48:43

使用numpy或者像这样简单地循环它:

代码语言:javascript
复制
myres = [[[[0.07338447]],[[0.92661554]]]]
for i in myres[0]:
    print(i[0][0])
票数 0
EN

Stack Overflow用户

发布于 2019-08-23 18:52:42

您可以使用递归:

代码语言:javascript
复制
data = [[[[0.07338447]],[[0.92661554]]]]

output = []
# function used for removing nested lists in python
def removeNestings(l):
    for i in l:
        if type(i) == list:
            removeNestings(i)
        else:
            output.append(i)
    return output

print (removeNestings(data))

输出:

代码语言:javascript
复制
[0.07338447, 0.92661554]

或者仅仅使用列表理解:

代码语言:javascript
复制
def removeNestings(l):
    return sum(([x] if not isinstance(x, list) else removeNestings(x)for x in l), [])

print(removeNestings(data))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57624652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档