Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何操作列表以获取以';开头的字符串+';?_Python - Fatal编程技术网

Python:如何操作列表以获取以';开头的字符串+';?

Python:如何操作列表以获取以';开头的字符串+';?,python,Python,我正在比较linux系统中etc目录的两个txt文件,它们是ls-R。我使用difflib.different比较了这两个文件,得到了这个列表作为我的结果(我在这里用点来保持列表的简短): 我希望能够使用'+'注销字符串来执行其他操作。如何操作列表?在上面的示例中,我希望能够获取这个字符串“extraFile”和“extraFile2” 感谢所有发布解决方案的人。这很有帮助,我很感激:) 下面是我为得到我想要的字符串所做的: newresult=[file[2:-1]对于结果中的文件,如果fil

我正在比较linux系统中etc目录的两个txt文件,它们是
ls-R
。我使用
difflib.different
比较了这两个文件,得到了这个列表作为我的结果(我在这里用点来保持列表的简短):

我希望能够使用
'+'
注销字符串来执行其他操作。如何操作列表?在上面的示例中,我希望能够获取这个字符串
“extraFile”
“extraFile2”

感谢所有发布解决方案的人。这很有帮助,我很感激:)

下面是我为得到我想要的字符串所做的:

newresult=[file[2:-1]对于结果中的文件,如果file.startswith(+')]

要打印字符串,请执行以下操作:

对于范围内的i(len(newresult)):
打印新结果[i]

谢谢~!!!:)

改进版,去掉“+”和空格/换行符


改进版,去掉“+”和空格/换行符

您可以使用列表理解:

newlist = [file[1:] for file in result if file.startswith('+')]
#            ^-- gets rid of `+` at the beginning

如果您想去掉换行符和空格,只需执行以下操作:

newlist = [file[1:].strip() for file in result if file.startswith('+')]

另一种方法是使用,但您不能操作字符串(只是为了完整起见,我想提及它):


您可以使用列表理解:

newlist = [file[1:] for file in result if file.startswith('+')]
#            ^-- gets rid of `+` at the beginning

如果您想去掉换行符和空格,只需执行以下操作:

newlist = [file[1:].strip() for file in result if file.startswith('+')]

另一种方法是使用,但您不能操作字符串(只是为了完整起见,我想提及它):


尝试列表理解:
[x代表x,如果x[0]='+']
尝试列表理解:
[x代表x,如果x[0]='+']]

+1代表
条带('+')
,但我认为更好的方法是使用
条带('+\n')
,而不是使用两次
条带(
)+1代表
条带('+'))
但我认为更好的方法是使用
.strip('+\n')
而不是两次
strip()
:)
newlist = filter(lambda s: s.startswith('+'), result)