看板 Python 關於我們 聯絡資訊
ab = { 'Swaroop' : 'swaroopch@byteofpython.info', 'Larry' : 'larry@wall.org', 'Matsumoto' : 'matz@ruby-lang.org', 'Spammer' : 'spammer@hotmail.com' } print "Swaroop's address is %s" % ab['Swaroop'] # Adding a key/value pair ab['Guido'] = 'guido@python.org' # Deleting a key/value pair del ab['Spammer'] print '\nThere are %d contacts in the address-book\n' % len(ab) for name, address in ab.items(): print 'Contact %s at %s' % (name, address) if 'Guido' in ab: # OR ab.has_key('Guido') print "\nGuido's address is %s" % ab['Guido'] 請問為何一定要用ab.items()? 我用ab.items()會失敗 另一個問題是 for in 後面他用name, address 我把他顛倒address, name 後面的% (address, name)也作變動 但是奇怪的是print出來的句子(contact %s at %s部分) 卻仍然是contact name at address? 我好像有看到文章說%s 是沒有順序的 就是指這種情況嗎? 但是文章又說可以自己指定順序 想請問一下 以這篇為例要如何去指定順序呢? 感謝回答~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.84.188 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1414232551.A.F6D.html
alibuda174: 看不懂關於 ab.items()的問題 10/25 18:40
請問.items是一個固定用語嗎?他是用來做甚麼的呢? 因為我只想打ab()就好...
alibuda174: 想要顛倒的話 for/in與%,其中一個顛倒過來即可 10/25 18:41
請問顛倒是? 我已經試過for address ,name in ab.items(): 但是出來結果仍舊是name在前@@ ※ 編輯: seiryou (1.167.84.188), 10/25/2014 19:01:44
alibuda174: items()是dict物件提供的方法 會回傳一個list 裡頭含 10/25 20:17
alibuda174: 有dict的(key,value)鍵值配對 10/25 20:17
alibuda174: 你才能用在for name, address in的後面 10/25 20:18
alibuda174: 改成for name, address in ab.items(): 10/25 20:18
alibuda174: print 'Contact %s at %s' % (address, name) 10/25 20:18
alibuda174: 就會address在前 name在後了 10/25 20:18
alibuda174: ps items()回傳的東西 2.x與3.x版不一樣 10/25 20:20
alibuda174: 但一般使用時 大概不會有差別 10/25 20:21
seiryou: 喔喔 感謝! 10/25 21:02