Python3 小技巧

集合操作

[dict(row) for row in rows]
b = [1, 2, 3, 4, 5, 6]
a = [1, 2, 3, 4, 5, 7]
c = []
# 交集
print(list(set(a).intersection(set(b))))
# 并集
print(list(set(a).union(set(b))))
# 差集 # b中有而a中没有的
print(list(set(b).difference(set(c))))

字典操作

两个字典 相交、合并、相差

a = {
    'x' : 1,
    'y' : 2,
    'z' : 3
}

b = {
    'w' : 10,
    'x' : 11,
    'y' : 2
}


# 公共Key部分 
a.keys() & b.keys()   # { 'x', 'y' }
# A独有的部分
a.keys() - b.keys()   # { 'z' }
# A、B公共的Key-Value
a.items() & b.items()  # { ('y', 2) }

Python 映射

Python 内置函数 map();
map() 内置函数将给定函数应用于可迭代的每一项,并返回一个迭代器对象。
map(function, iterable, ...)
可以将多个迭代传递给map()函数。该函数必须采用与可迭代项一样多的参数。

def square(x):
    return x * x

nums = [1, 2, 3, 4, 5]
nums_squared = map(square, nums)

for num in nums_squared:
    print(num)
# 打印结果:
# 1 4 9 16 25

  • 具有多个可迭代项的 Python 映射
def multiply(x, y):
    return x * y

nums1 = [1, 2, 3, 4, 5]
nums2 = [6, 7, 8, 9, 10]

mult = map(multiply, nums1, nums2)

for num in mult:
    print(num)

  • Python 映射多个函数
#!/usr/bin/python3

def add(x):
    return x + x

def square(x):
    return x * x

nums = [1, 2, 3, 4, 5]

for i in nums:

    vals = list(map(lambda x: x(i), (add, square)))

    print(vals)

# 结果:
[2, 1]
[4, 4]
[6, 9]
[8, 16]
[10, 25]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (1)abs(), 绝对值或复数的模 print(abs(-6)) #>>>>6 (2)all()接受一个迭代器...
    堂堂不是山阅读 268评论 0 1
  • 目前已经知道 abs() 绝对值chr() 获得对应的asc码dict() 转化成字典float() ...
    入间阅读 274评论 0 0
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 3,057评论 0 9
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,630评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,243评论 4 8