【发布时间】:2018-06-16 07:57:23
【问题描述】:
我正在尝试从列表列表中的数据创建一个数组。
ac_name = 'ac'
dat = [['ab=55', 'ac=25', 'db =57', 'dc =44'],
['ab=75','ac =12', 'cg =11', 'pt =95'],
['ab=17', 'ac=62'],
['ab=97', 'aa=501', 'dc=12', 'dd=19']]
所以我想得到一个看起来像这样的列表
ac = ['ac=25','ac=12','ac=62','']
从这里得到
ac_values = [25,12,62,'']
总而言之,我想将 dat 转换为一个大数组。
我知道这不起作用,因为它会遍历每个项目,因此输出是 dat 中有多少元素。
ac = []
for d in dat:
for c in d:
if ac_name in c:
ac.append(c)
else:
ac.append('')
【问题讨论】:
-
您的
else块位于嵌套循环内,这意味着如果条件未执行,对于每个列表中的所有项目,您将有一个空字符串。 -
如果子列表中有多个
'ac='怎么办? -
@Kasramvd 非常感谢。我以前没见过
-
“数组”是什么意思?一个numpy.array?一个array.array?通常一个python数组只能有一种数据类型,不能组合字符串和整数...
标签: python python-3.x list loops