我一直在搜索谷歌和本网站以获得答案但无济于事,只有几个不同的搜索字词。因此,如果问题已经得到解答,我很乐意指出它。
我尝试加入列表的一系列元素,包括列表的最后一个元素。这是我的测试代码:
MultiBinding
我知道范围不会包含列表的最后一个元素,所以这只给我3个test2,但是如果我使用0而不是-1来试图让它包含最后一个元素循环回来,它不会返回任何内容。
我对编码仍然很陌生,所以如果有更简单的方法可以让我感到惊讶。我很高兴知道这是否可以解决,但对于另一种解决方案同样高兴。基本上我将列表中的前两个项目拉出来检查对象名称,并且列表的其余部分 - 没有特定数量的元素 - 是第二个变量。
我假设我可以做一些事情,比如弹出列表中的前两个元素并将它们放入自己的元素中,然后加入该列表和截断的原始元素而不使用范围。但如果检查失败,我需要再次使用原始列表,所以我也必须复制一份列表。如果完全可行的话,用更少的代码来完成它会很好吗?
答案 0 :(得分:5)
要获取包含最后一个元素的列表,请将结束:
inp = ['1','2','3','4']
test = '_'.join(inp[:2])
test2 = '_'.join(inp[2:])
print(test + ' & ' + test2)
答案 1 :(得分:2)
您可以使用嵌套联接:
>>> ' & '.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'