本文整理汇总了Python中sortedcontainers.SortedDict.bisect_key_left方法的典型用法代码示例。如果您正苦于以下问题:Python SortedDict.bisect_key_left方法的具体用法?Python SortedDict.bisect_key_left怎么用?Python SortedDict.bisect_key_left使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sortedcontainers.SortedDict
的用法示例。
在下文中一共展示了SortedDict.bisect_key_left方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: dist_player_stats
# 需要导入模块: from sortedcontainers import SortedDict [as 别名]
# 或者: from sortedcontainers.SortedDict import bisect_key_left [as 别名]
def dist_player_stats(cls, stats, strength=False):
"""Order the stats to create distribution
previously 'hand strength'"""
# logger.info('distributing the player stats')
dist = SortedDict(pos, {0: 'f'})
p = 0
for o in ['f', 's', 'l', 'k', 'c', 'b', 'r', 'a']:
if o in stats:
dist[p] = o
p += max(0.01, stats[o])
dist[p - 0.001] = o
dist[1] = 'a'
logger.info(f'dist = {dist}')
logger.debug(f'strength? {strength}')
if strength is False:
return dist
r = ''
logger.debug(f'dist = {type(dist)}')
for _ in range(20):
p = _ * 5 / 100
i_pos = dist.bisect_key_left(p)
logger.debug(f'i_pos {i_pos} / {len(dist)}')
k = dist.iloc[i_pos]
v = dist[k]
r += v.upper() if (1 - strength) <= p <= 1 else v.lower()
logger.debug(f'bisected {v} from {k} at {r}%')
logger.debug(f'dist_stats {r}')
return r
示例2: test_bisect_key2
# 需要导入模块: from sortedcontainers import SortedDict [as 别名]
# 或者: from sortedcontainers.SortedDict import bisect_key_left [as 别名]
def test_bisect_key2():
temp = SortedDict(modulo, 7, ((val, val) for val in range(100)))
assert all(temp.bisect_key(val) == ((val % 10) + 1) * 10 for val in range(10))
assert all(temp.bisect_key_right(val) == ((val % 10) + 1) * 10 for val in range(10))
assert all(temp.bisect_key_left(val) == (val % 10) * 10 for val in range(10))