2016-02-12 51 views
-5

當我打電話從主子程序數組括號打印出如何避免打印[]中的數組括號?蟒蛇

def hobby(hobbies, correct_hobbies, incorrect_hobbies): 

    number = 0 

    underscore = ["_"]*len(hobbies) 

    while number <len(hobbies): 

     if hobbies[count] in correct_hobbies: 
      underscore[count]=hobbies[count] 
+4

我沒有看到打印聲明。你能否在一個問題上付出很少的努力? – timgeb

回答

1

如果你有一個字符串列表,你可以使用join它們打印爲一個字符串,而不是一個列表

>>> l = ['t','h','i','s'] 
>>> l 
['t', 'h', 'i', 's'] 
>>> ''.join(l) 
'this' 

如果你想空間(或任何其他定界符)之前join

>>> l = ['some', 'list', 'of', 'words'] 
>>> l 
['some', 'list', 'of', 'words'] 
>>> ' '.join(l) 
'some list of words' 
+0

怎麼下劃線= [「_」] * len(hobbies)由它自己打印出來?沒有說打印它? –

+0

@AdrianBochnacki如果您在IDLE或其他交互式編輯器中,則返回語句直接打印到控制檯。如果這是在一個腳本中,你將不得不說爲了發生這種情況。 – CoryKramer

+0

沒關係得到它謝謝 –

-2

不要再增加,在報價o打印list,但沒有括號,可以使用str.strip()

>>> mylist = [4, 5, 6, 7] 
>>> print(str(mylist).strip("[]")) 
4, 5, 6, 7 

如果您也想刪除逗號,你可以使用str.join()代替:

>>> mylist = ['4', '5', '6', '7'] 
>>> print("".join(mylist)) 
4567 

這會在你的情況下工作,但讓人們注意的是,如果有在mylist任何東西,這是不是一個字符串,會有一個TypeError。