[python] remove unnecessary conversions between data structures (#8546)

Co-authored-by: Jiaming Yuan <jm.yuan@outlook.com>
This commit is contained in:
James Lamb 2022-12-14 04:32:02 -06:00 committed by GitHub
parent f64871c74a
commit 06ea6c7e79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 5 additions and 8 deletions

View File

@ -279,8 +279,7 @@ class Install(install.install): # pylint: disable=too-many-instance-attributes
arguments.
'''
user_options = install.install.user_options + list(
(k, v[0], v[1]) for k, v in USER_OPTIONS.items())
user_options = install.install.user_options + [(k, v[0], v[1]) for k, v in USER_OPTIONS.items()]
def initialize_options(self) -> None:
super().initialize_options()

View File

@ -1160,7 +1160,7 @@ class DMatrix: # pylint: disable=too-many-instance-attributes,too-many-public-m
raise ValueError(msg)
# prohibit to use symbols may affect to parse. e.g. []<
if not all(isinstance(f, str) and
not any(x in f for x in set(('[', ']', '<')))
not any(x in f for x in ['[', ']', '<'])
for f in feature_names):
raise ValueError('feature_names must be string, and may not contain [, ] or <')
feature_names_bytes = [bytes(f, encoding='utf-8') for f in feature_names]
@ -1508,7 +1508,6 @@ def _configure_metrics(params: BoosterParam) -> BoosterParam:
and "eval_metric" in params
and isinstance(params["eval_metric"], list)
):
params = dict((k, v) for k, v in params.items())
eval_metrics = params["eval_metric"]
params.pop("eval_metric", None)
params_list = list(params.items())

View File

@ -141,7 +141,7 @@ class WorkerEntry:
) -> List[int]:
while True:
ngood = self.sock.recvint()
goodset = set([])
goodset = set()
for _ in range(ngood):
goodset.add(self.sock.recvint())
assert goodset.issubset(nnset)
@ -255,7 +255,7 @@ class RabitTracker:
return a list starting from rank
"""
nset = set(tree_map[rank])
cset = nset - set([parent_map[rank]])
cset = nset - {parent_map[rank]}
if not cset:
return [rank]
rlst = [rank]

View File

@ -509,13 +509,12 @@ def cv(
if isinstance(metrics, str):
metrics = [metrics]
params = params.copy()
if isinstance(params, list):
_metrics = [x[1] for x in params if x[0] == 'eval_metric']
params = dict(params)
if 'eval_metric' in params:
params['eval_metric'] = _metrics
else:
params = dict((k, v) for k, v in params.items())
if (not metrics) and 'eval_metric' in params:
if isinstance(params['eval_metric'], list):