将单元素子列表转换为普通元素

1 投票
3 回答
846 浏览
提问于 2025-04-17 18:21

我有以下这个列表:

[['identificator', [6036971], [1112221]], ['gender', ['Male'], ['Female']]]

我该如何把里面的单个元素列表变成普通元素,像这样?

[['identificator', 6036971, 1112221], ['gender', 'Male', 'Female']]

我把这个用作csv.writer.writerow的输入,但它打印出来的时候却把括号当成字符串了 :-/

出现这个问题的代码在这里 https://github.com/TheChymera/E2att/commit/4dd5e391b3ec7a4d630cef7c8c8fa803ede3e808#quest.py - 我遇到问题的变量是这样创建的:

def lefilter(keep=None):
data, filters, _ = get_data()
mask = filters[:,-1] == keep
lefilter = filters[mask][:,:-1]
value = data[:,lefilter.astype(np.bool)[0]]
if keep != 'gender':
    value = value.astype(np.integer)
return value

3 个回答

0

你知道 itertools 这个模块吗?

itertools.chain.from_iterable(your_list_here)。如果你不打算逐个处理里面的内容,可以把它放在一个列表里。

0

这段代码是用来处理一些特定的功能的。它可能涉及到一些基本的编程概念,比如变量、循环和条件判断。对于刚开始学习编程的人来说,理解这些概念是非常重要的。

在这段代码中,可能会有一些输入和输出的操作。输入就是你给程序的数据,输出就是程序处理后给你的结果。通过这些操作,程序可以根据你输入的内容做出不同的反应。

总之,这段代码的目的是为了实现某种功能,可能是计算、数据处理或者其他任务。理解这些基本的编程元素,可以帮助你更好地掌握编程的技巧。

map(lambda x: x[0] if isinstance(x, list) else x, list_item)
1

我用下面的代码解决了我的问题:

for ixr, row in enumerate(leresults):
    for ixe, el in enumerate(row):
        if len(el)==1:
            leresults[ixr][ixe] = el[0]

我相信还有更优雅的方法可以做到这一点,但现在能用我就很开心了!

撰写回答