Python 连接列表中的最后一个元素

Python 连接列表中的最后一个元素,python,python-3.x,Python,Python 3.x,我一直在谷歌和这个网站上搜索答案,但没有找到答案,只是用了几个不同的搜索词。因此,如果这个问题已经得到了回答,我很想被指出来 我试图加入列表的一系列元素,包括列表的最后一个元素。以下是我的测试代码: inp = ['1','2','3','4'] test = '_'.join(inp[0:2]) test2 = '_'.join(inp[2:-1]) print(test + ' & ' + test2) 我知道这个范围不包括列表的最后一个元素,所以对于test2,这只给了我3,

我一直在谷歌和这个网站上搜索答案,但没有找到答案,只是用了几个不同的搜索词。因此,如果这个问题已经得到了回答,我很想被指出来


我试图加入列表的一系列元素,包括列表的最后一个元素。以下是我的测试代码:

inp = ['1','2','3','4']
test = '_'.join(inp[0:2])
test2 = '_'.join(inp[2:-1])

print(test + ' & ' + test2)
我知道这个范围不包括列表的最后一个元素,所以对于test2,这只给了我3,但是如果我使用0而不是-1,试图通过循环使它包含最后一个元素,那么它不会返回任何结果


我对编码还是很陌生,所以如果有一种更简单的方法来实现这一点,我也不会感到惊讶。我很高兴知道这是否是可以解决的,但对于不同的解决方案,我同样感到高兴。从本质上说,我将列表中的前两项拉出以对照对象名称进行检查,并将列表的其余部分(没有特定数量的元素)作为第二个变量


我假设我可以做一些事情,比如将前两个元素从列表中弹出并放入它们自己的元素中,然后在不使用范围的情况下将该列表和被截断的原始元素连接起来。但如果检查失败,我需要再次使用原始列表,因此我还必须制作一份列表副本。如果可行的话,最好用更少的代码来输入?

要获得包含最后一个元素的列表,请去掉结尾:

inp = ['1','2','3','4']
test = '_'.join(inp[:2])
test2 = '_'.join(inp[2:])

print(test + ' & ' + test2)

可以使用嵌套联接:

>>> ' & '.join(['_'.join(inp[i:j]) for i, j in zip([0, 2], [2, None])])
'1_2 & 3_4'
或者更简单的解决方案:

>>> ' & '.join(["_".join(inp[:2]), "_".join(inp[2:])])
'1_2 & 3_4'

请添加您想要的结果。它应该打印“1_2和3_4”,但无论如何,有人已经为我解决了它。这正是我所需要的。太简单了!我很欣赏这个解决方案,因为列表理解是我需要学习的东西(我认为它们不存在于2.7中,因为我的老师从未涉及过),但目前另一个解决方案更容易在我的大脑中实现,而且似乎更简单。谢谢你!