一、考虑这样一个场景,我们有两个数值列表:
[1,3,5]
,[2,4,6]
,现在我们需要将位置相同
的数值相加。
新的列表的值为[1+2,3+4,5+6]
,也就是[3,7,11]
如果使用常规的遍历方式是有点麻烦,且可读性很差。使用zip
可以很好的解决这一问题。
from typing import List
def add_nums(num1: List[int], num2: List[int]) -> List[int]:
return [i + j for i, j in zip(num1, num2)]
使用add_nums
if __name__ == '__main__':
print(add_nums([1, 3, 5], [2, 4, 6])) # [3, 7, 11]
实现了这种特殊的加法
,我们才能进一步去研究矩阵
二、当我们读表格文件,例如csv
文件,我们会读取表头
与内容
,
如何将表头与内容组合就是一个问题。
['username', 'password', 'address']
['zhuyy', '123456', '杭州']
['lsu', '2084_73', '北京']
['lkd', '63*$er', '天津']
['dfj', '09rjs65', '重庆']
['dkg', 'dhj634', '上海']
使用zip
解决这种问题就很方便
def to_dict(head: list, body: list) -> dict:
return {
name: value
for name, value in zip(head, body)
if name # key 不能为空
}
使用:
if __name__ == '__main__':
named_content = to_dict(
['username', 'password', 'address'],
['zhuyy', '123456', '杭州']
)
print(named_content)
# {'username': 'zhuyy', 'password': '123456', 'address': '杭州'}
备注:[python使用DictReader读取csv可以直接达到这种效果
]
网友评论