连接lis中的最后一个元素

2024-04-26 10:11:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在谷歌和这个网站上搜索这个问题的答案,但都没有结果,只是用了几个不同的搜索词。所以,如果这个问题已经得到了回答,我很乐意被指向它。


我试图连接列表的一系列元素,包括列表的最后一个元素。这是我的测试代码:

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

print(test + ' & ' + test2)

我知道这个范围不会包含列表的最后一个元素,所以这里只给test2指定3个元素,但是如果我使用0而不是-1试图通过循环返回来让它包含最后一个元素,那么它不会返回任何结果。在


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

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


Tags: 方法答案test元素编码列表网站指向
2条回答

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

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'

或者更简单的解决方案:

^{pr2}$

相关问题 更多 >