将单元素子列表转换为普通元素
我有以下这个列表:
[['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]
我相信还有更优雅的方法可以做到这一点,但现在能用我就很开心了!