如何加入列表然后删除最后一个字符?

时间:2015-08-21 18:49:23

标签: python function

我试图编写一个连接元素列表的函数,然后返回没有最后一个字符的连接。

这是我到目前为止所做的:

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]

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]