• [py][lc]python的纸牌知识点


    模块collections-collections.namedtuple表示tuple

    如表示一个坐标, t = (1,2), 搞不清楚.
    如果这样就对了Point(x=1, y=2)

    from collections import namedtuple
    
    Point = namedtuple('Point', ['x', 'y']) #做一些kv形式的易辨别的数据结构
    p = Point(1, 2)
    print(p)
    
    # Point(x=1, y=2)
    

    类的方法: getitem 把实例当list来操作

    class Student:
        arr = [0, 1, 2, 3, 4] #返回arr的第3项
        def __getitem__(self, n):
            return self.arr[n]
    
    s = Student()
    print(s[3])
    
    # 3
    

    类的方法: __len__方法用于丈量类的实例的长度

    class A:
        arr = [1, 2, 3] #返回他的长度
        def __len__(self):#用来丈量实例长度的
            return len(self.arr)
    
    a = A()
    print(len(a))
    
    # 3
    

    一些小知识点

    - str转list
    >>> list('JQKA')
    ['J', 'Q', 'K', 'A']
    
    - 生成str类型的数字序列
    >>> [str(n) for n in range(2,11)]
    ['2', '3', '4', '5', '6', '7', '8', '9', '10']
    

    综合小例子

    from collections import namedtuple
    
    Point = namedtuple('Point', ['x', 'y'])
    p = Point(1, 2)
    print(p)
    
    
    arr1 = [str(i) for i in range(10)]
    arr2 = [str(i) for i in range(10)]
    
    s = [Point(k1,k2) for k1 in arr1 for k2 in arr2]
    print(s)
    
    
    # Point(x=1, y=2)
    # [Point(x='0', y='0'), Point(x='0', y='1'), Point(x='0', y='2'), Point(x='1', y='0'), Point(x='1', y='1'), Point(x='1', y='2'), Point(x='2', y='0'), Point(x='2', y='1'), Point(x='2', y='2')]
    

    map reduce filter

  • 相关阅读:
    HDU 3511 圆的扫描线
    POJ 2540 半平面交
    POJ 2451 半平面交nlogn
    POJ 3525 半平面交
    HDU 3629 极角排序
    POJ 1274 半平面交
    POJ 1696 凸包变形
    POJ 3384 半平面交
    Flex SDK代码规范之命名
    Flash & Flex组件优化的杀手锏callLater
  • 原文地址:https://www.cnblogs.com/iiiiiher/p/8427500.html
Copyright © 2020-2023  润新知