jm_p_op
ListFilterData(*conditions, **name_dic) - conditions 이름 바꾸기 본문
py/Eternal Return 분석
ListFilterData(*conditions, **name_dic) - conditions 이름 바꾸기
jm_p_op 2023. 12. 6. 01:02- conditions에 해당되는 list추출
- conditions에서 간단한 산수 추가 => 이름이 길어짐 => 이름 변경필요 => kwargs사용
- kwargs값의 key값이 string 값으로 넣어줄수가 없다(*,+등등 사칙연산을 변수명으로 쓸수없음)=>unpacking으로 집어 넣기
class ListFilterData(DataClass):
def __init__(self, *conditions, **name_dic):
"""1.must name_dic.value not in conditions
2. only */+-()
"""
self.name_dic = name_dic
self.conditions = {}
for condition in conditions:
self.conditions[name_dic.get(condition, condition)] = []
def add_data(self, user_data):
filter_name = list(self.name_dic.values())
for condition in self.conditions:
if condition not in filter_name:
self.conditions[condition] += [user_data.get(condition, 0)]
for condition_caculate in self.name_dic:
condition_list = re.split(re_caculater, condition_caculate)
for i, index in enumerate(condition_list):
if index.isdigit():
pass
elif index in calculater:
pass
else:
condition_list[i] = str(user_data[index])
condition_list = "".join(condition_list)
self.conditions[self.name_dic[condition_caculate]] += [eval(condition_list)]
dic_name = {"10*gameRank": "gameRank10"}
data_class = ListFilterData(
"playTime", "mmrGainInGame", "gameRank", "10*gameRank", **dic_name
)
'py > Eternal Return 분석' 카테고리의 다른 글
비동기 병렬처리와 객체화 (0) | 2024.03.19 |
---|---|
데이터 표본 다운로드 (0) | 2024.03.13 |
내장 함수,객체에서 kwarg을 밖에서 연결하기 (0) | 2023.12.06 |
ERDataCleansing - 기능 추가&수정 (0) | 2023.11.12 |
ER_datas (0) | 2023.09.28 |