1

我有以下列表:

[['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
4

3 回答 3

1

我能够使用以下代码解决我的问题:

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

我确信有一种更优雅的方法可以做到这一点,但现在我很高兴它有效!

于 2013-03-10T03:05:34.183 回答
0

你知道itertools模块吗?

itertools.chain.from_iterable(your_list_here). 如果您不对其进行迭代,请将其包装在一个列表中。

于 2013-03-08T01:01:44.463 回答
0
map(lambda x: x[0] if isinstance(x, list) else x, list_item)
于 2013-03-08T01:11:26.437 回答