Python Tips
文章目录
- Python Tips
- 1.函数注解
- 2.defalutdict
- 3.降低各种组合数据类型的可变性、只读化
- 4.if else的简单写法
1.函数注解
from typing import *
def func(a: int, b: List[List[int]]):
...
def func(a: int, b: Dict[str, int]):
...
def func(x: int, y: int) -> int:
return x + y
a: int = 1
c: List[int] = [1, 2, 3]
2.defalutdict
在字典中查找某个值时,若key不存在时则会返回一个KeyError错误而不是一个默认值,这时候可以使用defaultdict函数。
注意: 使用dict[key]=value时,若key不存在则报错;使用dict.get(key)时,若key不存在则会返回一个默认值。
import random
from collections import defaultdict
# 1.default使用方式
b = defaultdict(list)
b['第一个'] = 'str1'
b['第二个'].append(1)
# 2.普通字典使用方式
dic = {}
if 'a' in dic:
dic['a'].append(1)
else:
dic['a'] = []
# 3.表示图
graph = defaultdict(set)
for i in range(10):
for _ in range(3):
graph[i].add(random.randint(0, 9))
print(graph)
3.降低各种组合数据类型的可变性、只读化
from types import MappingProxyType
if __name__ == '__main__':
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
t = tuple(arr)
s = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
fs = frozenset(s)
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
mp = MappingProxyType(dic)
4.if else的简单写法
a, b, c = 1, 2, 3
c = a if a >b else b