Skip to content

Instantly share code, notes, and snippets.

View iisaka51's full-sized avatar

Goichi (Iisaka) Yukawa iisaka51

View GitHub Profile
演算子 説明
gt, > より大きい
lt, < より小さい
gte, >= 以上
lte, <= 以下
!=, <>, not 比較した値が異なる
in 与えたシーケンスに含まれる
notin 与えたシーケンスに含まれない
like, ilike 文字列検索、 ilike は大文字小文字を区別しない。ワイルドカードは%
@iisaka51
iisaka51 / example_without.py
Created October 25, 2022 23:01
without method of ilist
In [1]: from datajuggler import iList
In [2]: l1 = iList([1,2,3,4,5,6])
...: result = l1.without([3])
...: assert result == [1,2,4,5,6]
In [3]: l1 = iList([1,2,3,4,5,6])
...: result = l1.without([0])
...: assert result == l1
@iisaka51
iisaka51 / compat_list.py
Created October 25, 2022 22:56
compatibility normal list
In [1]: from datajuggler import iList
In [2]: l1 = iList([1,2,3,4,5])
...: l2 = iList([1,2,3,4,5])
...: assert l1 == l2
In [3]: l1 = iList([1,2,3,4,5])
...: l2 = list([1,2,3,4,5])
...: assert l1 == l2
@iisaka51
iisaka51 / example_of_serializer.py
Created October 25, 2022 06:06
example of serializer of datajuggler
n [1]: from datajuggler import serializer as io
In [2]: import decimal
In [3]: import datetime
In [4]: data = {
...: 'a': 1,
...: 'b': decimal.Decimal('2'),
...: 'c': datetime.datetime(2020, 5, 24, 8, 20),
@iisaka51
iisaka51 / add_datetime_class_serialize.py
Created October 25, 2022 05:29
add custom class serializer example
import datetime
from datajuggler.serializer.abstract import (
AbstractClassSerializer, register_serializer
)
from datajuggler.validator import TypeValidator as _type
class DatetimeClassSerializer(io.AbstractClassSerializer):
def __init__(self, cls=datetime.datetime):
super().__init__(cls)
@iisaka51
iisaka51 / add_cloudpickle.py
Created October 25, 2022 05:27
example for adding serializer
from datajuggler.serializer.abstract import (
AbstractSerializer, register_serializer
)
try:
import cloudpickle
cloudpickle_enable = True
except ImportError: # pragma: no cover
cloudpickle_enable = False
cloudpickle = AbstractSerializer()
@iisaka51
iisaka51 / uDIct_example.py
Created October 25, 2022 05:06
uDict example
In [1]: from datajuggler import uDict, Keylist, Keypath
In [2]: data = { "a": 1,
...: "b": { "c": { "x": 2, "y": 3, },
...: "d": { "x": 4, "y": 5, },
...: "e": [ { "x": 1, "y": -1, "z": [101, 102, 103], },
...: { "x": 2, "y": -2, "z": [201, 202, 203], },
...: { "x": 3, "y": -3, "z": [301, 302, 303], },
...: ],
...: },
@iisaka51
iisaka51 / exaample_iList_clone.ppy
Created October 25, 2022 05:04
iList of clone method
In [69]: i3 = i1.clone()
In [70]: i3
Out[70]: iList([1, 2, 3])
In [71]: i3._attrs
Out[71]: aDict({'python': 'Osaka'})
In [72]: i3 = i1.clone(empty=True)
@iisaka51
iisaka51 / ilist_copy_example.py
Created October 25, 2022 05:03
iList copy() method
In [63]: i1
Out[63]: iList([1, 2, 3])
In [64]: i2 = i1.copy()
In [65]: i2._attrs
Out[65]: aDict({})
In [66]: i2 = i1.copy(freeze=True)
@iisaka51
iisaka51 / iList_hashable.py
Created October 25, 2022 05:01
iList hashable
In [60]: hash(i1)
Out[60]: -3783003762566077833
In [61]: d = { i1: 'happy'}
In [62]: d
Out[62]: {iList([1, 2, 3]): 'happy'}
In [63]: