亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從字典中的列表中刪除方括號和逗號

從字典中的列表中刪除方括號和逗號

森林海 2021-09-11 10:17:57
我是一名初級程序員,我不知道如何從我從帶有列表的字典中取出的值中刪除括號和逗號。我錯過了什么?據我所知,for 循環通常會刪除它們,但現在不會這樣做。簡化代碼:dict = {     'name1': ['python', 'c', 'java'],    'name2': ['c.'],    'name3': ['ruby', 'go'],    'name4': ['javascript', 'python'],    'name5': [],    }for k, v in dict.items():    if len(v) ==  1:                print(str(k).title() + "'s favorite language is " + str(v).title() + "\n")    elif len(v) > 1:        print(str(k).title() + "'s favorite languages are: \n" + str(v).title() + "\n")    elif len(v) < 1 :        print(str(k).title() + " does not have a favorite language")
查看完整描述

2 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

使用join和map:


dict = {

    'name1': ['python', 'c', 'java'],

    'name2': ['c.'],

    'name3': ['ruby', 'go'],

    'name4': ['javascript', 'python'],

    'name5': [],

    }


for k, v in dict.items():

    if len(v) == 1:

        print(str(k).title() + "'s favorite language is " + ', '.join(map(str.title, v)) + "\n")

    elif len(v) > 1:

        print(str(k).title() + "'s favorite languages are: \n" + ', '.join(map(str.title, v)) + "\n")

    elif len(v) < 1 :

        print(str(k).title() + " does not have a favorite language")

輸出


Name3's favorite languages are: 

Ruby, Go


Name5 does not have a favorite language

Name2's favorite language is C.


Name4's favorite languages are: 

Javascript, Python


Name1's favorite languages are: 

Python, C, Java

這個想法是應用于str.title值列表中的每個字符串(使用 map),然后通過逗號和空格 ( ', ')連接這些字符串。請注意,您可以更改聯接的字符串以滿足您的需要。


查看完整回答
反對 回復 2021-09-11
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

雖然 Daniel 的回答更加優雅和完整,但我想解決您的問題,即為什么 'for' 函數沒有拆分語言名稱(刪除“,”和“]”)。代碼中的第一個“for”函數遍歷字典。如果您只想使用“for”函數,則需要為每個人的條目再次重用它以分隔語言。喜歡下面的代碼示例。


dict = { 

'name1': ['python', 'c', 'java'],

'name2': ['c.'],

'name3': ['ruby', 'go'],

'name4': ['javascript', 'python'],

'name5': [],

}


for k, v in dict.items():

    if len(v) ==  1:        

        print(str(k).title() + "'s favorite language is " + str(v).title() + "\n")

    elif len(v) > 1:

        print(str(k).title() + "'s favorite languages are:")

        for language in v:

            print(language + ", ")

        print("")

    elif len(v) < 1 :

        print(str(k).title() + " does not have a favorite language")


查看完整回答
反對 回復 2021-09-11
  • 2 回答
  • 0 關注
  • 302 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號