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