小编Gra*_*ntS的帖子

Python设置具有弹出随机元素的能力

我需要一个Python(2.7)对象,其功能类似于集合(快速插入,删除和成员资格检查),但能够返回随机值.以前在stackoverflow上提出的问题有以下答案:

import random
random.sample(mySet, 1)
Run Code Online (Sandbox Code Playgroud)

但是对于大型集合来说这是非常慢的(它在O(n)时间内运行).

其他解决方案不够随机(它们依赖于python集的内部表示,这会产生一些非随机的结果):

for e in mySet:
    break
# e is now an element from mySet
Run Code Online (Sandbox Code Playgroud)

我编写了自己的基本类,它具有恒定的时间查找,删除和随机值.

class randomSet:
    def __init__(self):
        self.dict = {}
        self.list = []

    def add(self, item):
        if item not in self.dict:
            self.dict[item] = len(self.list)
            self.list.append(item)

    def addIterable(self, item):
        for a in item:
            self.add(a)

    def delete(self, item):
        if item in self.dict:
            index = self.dict[item]
            if index == len(self.list)-1:
                del self.dict[self.list[index]]
                del self.list[index]
            else:
                self.list[index] = self.list.pop()
                self.dict[self.list[index]] = index
                del self.dict[item]

    def getRandom(self): …
Run Code Online (Sandbox Code Playgroud)

python random set

24
推荐指数
1
解决办法
4271
查看次数

从桌面到移动浏览器的字体大小变化无法解释

我正在为我的网站制作代码格式化程序,我在桌面和移动浏览器之间遇到了一些奇怪的行为.在桌面上,代码块如下所示:

在我的iphone上,无论出于何种原因,行号都是较小的字体大小:

我没有做任何事情来编辑我网站上任何地方的任何字体大小.这都是默认尺寸.如果我手动设置字体大小,比如12px,它仍然排列在我的桌面浏览器上,并且在我的移动浏览器上仍然更小.

代码块布局为包含两个单元格的表.左侧单元格包含1列表,每行包含一个数字.右侧单元格包含1列表,每行包含一行代码.

知道为什么字体在移动浏览器上缩小了吗?

编辑:链接:http://grantslatton.com/posts/blog/2013-08-16/sudoku_solver/

EDIT2:它在Windows手机和Android手机上正确呈现.

解决方案:结果移动Safari决定为您更改文本大小!我在这个页面上看到了一个有效的解决方案:修复Mobile Safari(iPhone)上的字体大小问题,其中文本呈现不一致而某些字体比其他字体大?

我在我的CSS的body {}部分放了-webkit-text-size-adjust:100%,以防止移动safari弄乱我的文本大小.

html css fonts ios

6
推荐指数
1
解决办法
5129
查看次数

标签 统计

css ×1

fonts ×1

html ×1

ios ×1

python ×1

random ×1

set ×1