2015-01-16 82 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是正確的,方法不是運算符。 –

相關問題