我试图编写一个连接元素列表的函数,然后返回没有最后一个字符的连接。
这是我到目前为止所做的:
n = ["Andy", "Warhol"]
def littery(word):
total = ''
for i in range(len(word)):
total = total + word[i]
return total
littery(n)
a = littery(n)[0:len(littery(n))-1]
print
程序打印:AndyWarho
有更好的方法吗?我想在函数内部执行此操作,而不使用:a = littery(n)[0:len(littery(n))-1]
答案 0 :(得分:16)
如果我理解你正在尝试做的事情,你可以这样做:
def littery(lst):
return ''.join(lst)[:-1]
>>> littery(['Andy', 'Warhol'])
'AndyWarho'
或者如果你想从lst
的每个元素中取出最后一个元素,你可以这样做:
def littery(lst):
return ''.join(word[:-1] for word in lst)
>>> littery(['Andy', 'Warhol'])
'AndWarho'
或者如果您不想在通话中建立一个列表,您可以这样做:
def littery(*lst):
return ''.join(lst)[:-1]
>>> littery('Andy', 'Warhol')
'AndyWarho'
或者如果你想以另一种方式做,你可以这样做:
def littery(*lst):
return ''.join(lst[:-1] + [lst[-1][:-1]])
或者如果您可能在某个时刻再次需要切片:
last = slice(-1)
def littery(*lst):
return ''.join(lst)[last]