- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一道关于 python 编程的常规问题,我被要求生成一个从一个字符串切片的字符串列表(我们称之为 target_string),每个切片字符串的长度从 1 增加到 string 的长度。
例如,如果 target_string 是 '123',我必须生成这样的列表:['1', '2', '3', '12', '23', '123'].
为此,我写了一段代码,如下所示:
target_string = raw_input("Target String:")
length = len(target_string)
number_list = []
for i in range(length):
for j in range(length):
if j + i <= length:
number_list.append(target_string[j:j + i])
print(number_list)
执行此操作的结果是:
Target String:12345
['', '', '', '', '', '1', '2', '3', '4', '5', '12', '23', '34', '45', '123', '234', '345', '1234', '2345']
我注意到的第一件事是列表由空格作为元素组成,空格的数量等于 target_string 的长度。为什么会这样?欢迎任何形式的澄清和帮助。
P.S:我有一个临时解决方法来生成我需要的列表:
target_string = raw_input("Target String:")
length = len(target_string)
number_list = []
for i in range(length):
for j in range(length):
if j + i <= length:
number_list.append(target_string[j:j + i])
number_list.append(target_string)
del number_list[0:length]
target_list = [int(i) for i in number_list]
print(target_list)
也可以随意提出对此的任何更改或修改,或者您认为更有效和 pythonic 的任何方法。提前致谢。
编辑:这是在 Pycharm 中实现的,在 Windows 10 上,使用 Python 2.7,但请随时提供 Python 2.7 和 3.X 版本的解决方案。
最佳答案
可以使用itertools.combinations
,然后获取索引连续加1的,使用''.join(..)
将其转换为字符串并使用 .extend(..)
添加它:
python 2.7:
import itertools
target_string = raw_input("Target String:")
l=[]
for i in range(1,len(target_string)+1):
l.extend([''.join(i) for i in itertools.combinations(target_string,i) if all(int(y)-int(x)==1 for x, y in zip(i, i[1:]))])
print l
输出:
['1', '2', '3', '12', '23', '123']
Python 3.x:
import itertools
target_string = input("Target String:")
l=[]
for i in range(1,len(target_string)+1):
l.extend([''.join(i) for i in itertools.combinations(target_string,i) if all(int(y)-int(x)==1 for x, y in zip(i, i[1:]))])
print(l)
输出:
['1', '2', '3', '12', '23', '123']
关于python - 生成的列表包含此代码段中的 [Apparantly] 下落不明的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51625669/
一道关于 python 编程的常规问题,我被要求生成一个从一个字符串切片的字符串列表(我们称之为 target_string),每个切片字符串的长度从 1 增加到 string 的长度。 例如,如果
所以我最近开始使用 python,现在正在开发一个简单的 2D 类《我的世界》游戏。我试图使用 Pygame 在 Surface 上绘制一些图像,但存储世界上所有 block 的(2D)数组不断发生一
我已经用 Java 创建了一个程序,我想将其打包到可执行 jar 文件中。我希望这个程序从 jar 文件中获取图像并显示它们。我创建了一个抽象类,其中包含一个获取字符串文件名并返回图像对象的方法。但是
使用和不使用prototype有什么区别?他们显然也这样做。 使用原型(prototype): function poligon(angles){ this.angles = angles;
在对我的项目代码进行了数月的改进之后,我终于遇到了定义一个新类的需要。不得不通过我以前的类定义作为惯例的复习,我注意到所有构造函数和属性 setter 都有一个输出参数,即使没有分配给它,例如: fu
我无法编译 ORBIT2: make[3]: Entering directory `/home/software/orbit2/ORBit2-2.14.19/linc2/src' /bin/bash
我一直在测试用于 Titanium 的新 ForgedUI 附加组件,它有助于为 Titanium 应用程序创建 UI 元素。 我创建了 UI 并将其构建为 JS 代码。它现在看起来像 this ,而
我在下面发布了一小部分日志,如果有人可以解码以下内容,我将非常感激: 列出项目 托管线程 Activity 线程 Activity 任务 待处理任务 池线程堆栈跟踪 我有以下 C3PO 配置: c3p
我在玩与 a:link around div - styling inside div 相关的代码时注意到了这一点(奇怪?) 给定这个 HTML: Foo 还有这个 CSS(添
当使用 Anaconda 环境时,我无法启动 Jupyter 在笔记本中工作。我可以在没有环境的情况下这样做,但我需要能够使用环境。这是我所做的和我得到的错误: ben@ben-K60IJ:~/sur
我有一些C语言编程的经验,但我不敢说自己精通。最近,我遇到了以下宏: #define CONST(x) (x) 我发现它通常用于表达式中,例如: double x, y; x = CONST(2.0)
我一直在尝试让 Jenkinsfile 工作。它在 sh 步骤上一直失败并给出以下错误 process apparently never started in /home/jenkins/wo
我已经为 KVO 的设置苦苦挣扎了几个小时,但我设法让它工作了: 这个有效: [self addObserver:self forKeyPath:@"session.loginState" opti
我在使用 Google Analytics 跟踪我的应用程序时遇到问题。在我需要跟踪的所有 Activity 中(现在 2 个,将来更多)我有相同的 GA 处理代码: @Override public
这个问题已经有答案了: How do I return the response from an asynchronous call? (42 个回答) 已关闭 3 年前。 使用 React Nati
我在我的 Jenkins 管道中收到以下奇怪的错误 [Pipeline] withDockerContainer acp-ci-ubuntu-test does not seem to be runn
好吧,我必须在这里遗漏一些非常明显的东西。我有这段代码: if (field_ref in choices) or (field['id'] in choices) or (field['name']
我有 spring boot 2 应用程序,我正在使用 Flyway 进行数据库迁移。我在应用程序启动时以编程方式执行 Flyway 迁移。这样做时,我得到:java.lang.Exception:检
当从两个不同的 Activity 引用时,我试图让一些与数据库有关的方法工作,这导致我在同一类中使用不同的上下文重新初始化整个数据库。它适用于一个 Activity ,但是当数据库在另一个 Activ
我收到一个似乎是误报的代码分析警告。 CA1812 : Microsoft.Performance : 'MyClass.MyPrivateClass' is an internal class th
我是一名优秀的程序员,十分优秀!