Python Dictionary

1.  test if a key exists in a dict.

The lame version:

dct.has_key(key)  

The Python way:
key in dct  


2. test if a key NOT exist in a dict.

Do this you must not:

not key in dict  

More confortable way:
key not in dict  
3.  use dict to count something

 The mediocre way:

if key not in dct:  
    dct[key] = 0  
dct[key] = dct[key] + 1  
Awesome way:
dct[key] = dct.get(key, 0) + 1  
More Awesome:

>>> from collections import Counter  
>>> d = [1, 1, 1, 2, 2, 3, 1, 1]  
>>> Counter(d)  
Counter({1: 5, 2: 2, 3: 1})  

4. dict's value is list.

Diao Si's way:

dct = {}  
for (key, value) in data:   
    if key in dct:   
        dct[key].append(value)   
    else:   
        dct[key] = [value]  

Pu Tong:
dct = {}   
for (key, value) in data:  
    group = dct.setdefault(key, []) # key might exist already   
    group.append(value)  


Gao Fu Shuai:
dct = defaultdict(list)   
for (key, value) in data:   
    dct[key].append(value) # all keys have a default already  

Thanks Lao Qian!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Python字典是一种无序的数据结构,用于存储键值对。它可以通过大括号{}来创建,也可以使用dict()函数来创建。\[2\]例如,可以使用以下代码创建一个字典: ```python my_dict = {'name': 'John', 'age': 25, 'city': 'New York'} ``` 或者可以使用以下代码创建一个字典: ```python my_dict = dict(name='John', age=25, city='New York') ``` 可以使用键来访问字典中的值,例如`my_dict\['name'\]`将返回'John'。\[3\]还可以使用循环来遍历字典的键和值,例如: ```python for key in my_dict: print(key, my_dict\[key\]) for value in my_dict.values(): print(value) ``` 这将分别打印出字典的键和对应的值。\[1\]此外,还可以使用其他方法来增加、更新和删除字典中的元素,以及对字典进行排序和使用其他字典函数和方法进行操作。 #### 引用[.reference_title] - *1* *3* [Python中的字典(Dictionary)](https://blog.csdn.net/smarten57/article/details/130595183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python基础学习之字典(Dictionary)](https://blog.csdn.net/u010435091/article/details/102764295)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值