加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 12:12:05 所属栏目: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: on
我想检查一下,例如,数字’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将更快地工作)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读