从列表中删除括号

时间:2015-02-07 03:00:35

标签: python list tuples

我有一个函数最终产生这个:

exList=[([('Community Chest', 1), ('Jail', 1)], array([10, 17])), ([('Jail', 1), ('Chance', 1)], array([10, 22]))]

如您所见,它是一个列表和元素,即

[('Community Chest', 1), ('Jail', 1)], array([10, 17])

在一个元组中。 我试过删除所有这样的括号:

for element in exList:
    temp = ""
    for ch in element:
        if ch not in SYMBOLS:
            temp += ch

    results.append(temp)

print(results)

但它会导致问题,因为上面的代码只适用于元组,而不是列表(我知道,这真的令人困惑)。

我最终需要的是删除最外面的括号以获得 这样:

exList=[[('Community Chest', 1), ('Jail', 1)], array([10, 17]), [('Jail', 1), ('Chance', 1)], array([10, 22])]

如你所见,我想删除最外面的括号。 你们能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

使用列表推导和itertools模块:

print [i for i in itertools.chain(*exList)]]

答案 1 :(得分:0)

您可以删除旁边的括号:

exList=[([('Community Chest', 1), ('Jail', 1)], array([10, 17])), ([('Jail', 1), ('Chance', 1)], array([10, 22]))]

只需命名一个新列表并使用numpy从列表中的每个元素中创建一个数组:

newlist=np.array(lists[0])

对列表中的每个元组都这样做。