python – 如何检查特定数字是否在整数中

我想检查一下,例如,数字’2’是否在4059304593中.
我的目的是检查是否有任何数字1-9不在我的整数.这是我尝试过的:

for i in xrange(10):
    for j in xrange(100):
        num = str(i^j)
        one_count = 0
        two_count = 0
        for k in xrange(len(num)):
            if num[k] == 1:
                one_count += 1
            if num[k] == 2:
                two_count += 1

然后我的“计数”将一直下降到nine_count,如果任何计数为0,那么该数字不在’num’中.从我在这些网站上看到的内容来看,我的脚本效率低下 – 有人能指出更好的方法吗?

解决方法

这个“数字”的东西需要一个字符串方法,而不是数字方法(让我想起一些 Project Euler个谜题).

我先创建一个数字的数字(同时删除重复数字)

s = set(str(4059304593))

然后检查一个数字:

print('2' in s)

(注意,对于一个集合是高性能的)

然后,检查s是否包含所有013456789数字:

print(s.issuperset("013456789"))

(如果必须多次执行此操作,可能需要使用字符串创建一个集合,issuperset将更快地工作)

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...