【问题标题】:How to find out if six-digit consecutive numbers (such as 123456, 345678, and 789012) appears anywhere in a given string如何找出六位连续数字(例如 123456、345678 和 789012)是否出现在给定字符串的任何位置
【发布时间】:2019-09-16 17:47:01
【问题描述】:

我已经做了一些事情,但我相信一定有一些简单的方法可以做到。

import re

data = open('somestring.txt','r')
whole_text = data.read().replace('\n','')
whole_text = whole_text.replace(' ','')

L1 ='0123456789'
List=[]
for i in range(1,11):
    L = ''
    for j in range(6):
        s = str((int(L1[j])+i-1)%10)
        L += s
    List.append(L)

y = re.findall(somestring)

【问题讨论】:

  • 例如,给定的字符串可能是 pi 什么的

标签: python-3.x list find


【解决方案1】:

不确定这里是否需要重新。您可以简单地使用“in”关键字。

my_list = ['12345','345678']
my_number = '123'
for number in my_list:
    if my_number in number:
        print(number)

这将打印“12345”。

【讨论】:

  • 如果 my_list = ['12345' , '345678'] 和 my_number =' 12345000019374719304761634567812344...' (可能是 100 万位数)怎么办。我要做的是在 my_number 中找到所有“12345”。
  • 就像你刚才说的把这两个倒过来,并相应地调整迭代。 for number in my_list: if number in my_big_number: print(number)要注意的一件事;如果您知道某些数字可能非常大,那么此实现可能不适合生产级代码。
猜你喜欢
  • 1970-01-01
  • 2023-01-02
  • 2018-08-02
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 2017-11-20
  • 2011-11-21
  • 1970-01-01
相关资源
最近更新 更多