2015-01-16 54 views
2

我在Python 2.7中有此代码我一直在努力,并且卡住了。 我试图去从 ["bob","sally","jim"])'bob<>sally<>jim'将“<>”附加到列表中的每个项目

这里是我到目前为止所。

def long_winded(my_str): 
    result = [] 
    for i in my_str: 
    result += i + "<>" 
    return result 

print long_winded(["sally","bob","jim"]) 

回答

9

您可以只使用.join字符串的方法:

my_lst = ['sally', 'bob', 'jim'] 
result = '<>'.join(my_lst) 

,当然你可以随时换这一切了一个功能,但你可能并不需要:

def long_winded(lst): 
    return '<>'.join(lst) 

print long_winded(['sally', 'bob', 'jim']) 
+0

工作,谢谢!我正在学习python,它可能会产生压力 –

+0

好吧,你也可以通过'long_winded ='<>'。join'来实现它:p –

+0

@JonClements - 我想把它作为我的答案的一部分我对另一个答案留下了相同的评论),但是。 。 。看起来它会比它更值得我迷惑,如果我在实际的代码中看到它,我不确定我会有什么感觉。 。 。另一方面,它非常有趣(并且非常有用!)python让你可以做这样的事情。我最近一直在写一些JS,它让我不知道我需要多少''.bind(this)': -/ – mgilson

1

使用内置的join方法...

def long_winded(my_str): 
    return '<>'.join(my_str) 
+1

它不完全是_operator _... _method_可能是一个更合适的术语。而且,为了好玩,'long_winded ='<>'。join'甚至可以工作:-) – mgilson

+0

@mgilson是正确的,方法不是运算符。 –

相关问题