如何连接固定两个枢轴的列表元素?

艾沃基

我有一个很大的嵌套列表,在各自的子列表中有很多元素。该列表如下所示:

[
 ['Pack', 'my', 'box', 'with', 'five', 'dozen', 'liquor', 'jugs'],
 ['The', 'five', 'boxing', 'wizards', 'jump', 'quickly']
]

如何有效地忽略列表大小的第一个和最后一个元素,并用“分隔符”连接列表的中间元素?例如:

[
 ['Pack', 'my_box_with_five_dozen_liquor', 'jugs'],
 ['The', 'five_boxing_wizards_jump', 'quickly']
]

我试过了:

lst = []

for i in l:
    p1 = i[0]
    p2 = i[-1]
    my_list = i[1:-1]
    new = '_'.join(my_list)
lst.append(new)
lst.insert(0, p1)
lst.insert(len(lst), p2)

虽然有效,但我认为这不是pythonic,可能不适用于大型列表。还有其他方法可以得到上述输出吗?

奥斯汀

您可以使用列表理解:

[[x[0], '_'.join(x[1:-1]), x[-1]] for x in lst]

lst您的清单清单在哪里

范例

lst = [
 ['Pack', 'my', 'box', 'with', 'five', 'dozen', 'liquor', 'jugs'],
 ['The', 'five', 'boxing', 'wizards', 'jump', 'quickly']
]

print([[x[0], '_'.join(x[1:-1]), x[-1]] for x in lst])
# [['Pack', 'my_box_with_five_dozen_liquor', 'jugs'], ['The', 'five_boxing_wizards_jump', 'quickly']]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章