Python编程快速上手——字典(笔记)

目录

字典基本操作:

例题1:

例题2


字典基本操作:

1.简单介绍

eg:

>>>mycat={'size':'fat','color':'gray','disposition':'loud'}

在这之中,size被称为键,这个键相应的值是’fat‘,可以通过它们的键访问它们的值。

2.keys(),values(),item()方法,常用于循环结构

keys()方法是返回字典中的键,例如

>>> spam = {'color': 'red', 'age': 42}
>>>for k in spam.keys():
    print(k)
color
age
该返回的都是键。
values()方法是返回字典中的值,例如
>>> spam = {'color': 'red', 'age': 42}
>>> for v in spam.values():
print(v)
red
42

item()则返回键-值,与上述同理。

2.检查字典中是否存在键或值

使用in和not  in操作,使用方法与列表相同

3.get()方法

该方法需要设置两个参数,第一个是要取得其值的键,第二个是若该键不存在时所返回的备用值

例如:

>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.'
'I am bringing 2 cups.'
>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'

4.setdefault()方法

该方法需要设置两个参数,第一个是要检查的键,第二个如果这个参数不存在所返回的备用值,但如果该键确实存在,方法会返回该键的值。例如:

>>> spam = {'name': 'Pooka', 'age': 5}
>>> spam.setdefault('color', 'black')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}
>>> spam.setdefault('color', 'white')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}

5.漂亮打印

该效果需要导入模块pprint,输出时使用pprint.pprint(***),它可以使输出的值更加美观

如果希望得到字符串,就调用pprint.pformat(),两种方法均可以:

pprint.pprint(someDictionaryValue)
print(pprint.pformat(someDictionaryValue))

6.井字棋盘

theBoard = {'top-L': ' ', 'top-M': ' ', 'top-R': ' ', 'mid-L': ' ', 'mid-M': '
', 'mid-R': ' ', 'low-L': ' ', 'low-M': ' ', 'low-R': ' '}
def printBoard(board):
print(board['top-L'] + '|' + board['top-M'] + '|' + board['top-R'])
print('-+-+-')
print(board['mid-L'] + '|' + board['mid-M'] + '|' + board['mid-R'])
print('-+-+-')
print(board['low-L'] + '|' + board['low-M'] + '|' + board['low-R'])
turn = 'X'
for i in range(9):
  printBoard(theBoard)
  print('Turn for ' + turn + '. Move on which space?')
  move = input()
  theBoard[move] = turn
  if turn == 'X':
turn = 'O'
else:
turn = 'X'
printBoard(theBoard)

7.totalBrought()函数

def totalBrought(guests, item):
numBrought = 0
  for k, v in guests.items():
  numBrought = numBrought + v.get(item, 0)
return numBrought

该函数两个参数前者为要调查的字典,后者为要调查的数据。for循环可以寻找该字典中的每个键值对。

例题1:

你在创建一个好玩的视频游戏。用于对玩家物品清单建模的数据结构是一个字
典。其中键是字符串,描述清单中的物品,值是一个整型值,说明玩家有多少该物
品。例如,字典值 {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12} 意味着玩
家有 1 条绳索、 6 个火把、 42 枚金币等。
写一个名为 displayInventory() 的函数,它接受任何可能的物品清单,并显示如下:
Inventory:
12 arrow
42 gold coin
1 rope
6 torch
1 dagger
Total number of items: 62。
stuff = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}
def displayInventory(inventory):

    print("Inventory:")
    item_total = 0
    for k, v in inventory.items():

        print(str(v) + ' ' + k)
        item_total += v
    print("Total number of items: " + str(item_total))
displayInventory(stuff)

例题2

 

def addToInventory(inventory, addedItems):
    for i in range (len(addedItems)):
        if addedItems[i] in inventory:
            inventory[addedItems[i]]+=1
        else :
            inventory.setdefault(addedItems[i],1)
    return inventory

def displayInventory(inventory):
        print("Inventory:")
        item_total = 0
        for k, v in inventory.items():
            print(str(v) + ' ' + k)
            item_total += v
        print("Total number of items: " + str(item_total))
inv = {'gold coin': 42, 'rope': 1}
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
inv = addToInventory(inv, dragonLoot)
displayInventory(inv)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值