从最后3行中提取数据,而不考虑行数

2024-04-25 22:04:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近一直在使用一些Python图像库,从字符串的最后三行提取文本时遇到了一些问题。你知道吗

假设我有一根绳子

a = '''
Human
Dog
Cat
Banana
Apple
Orange'''

我想把这些东西转换成两个不同的列表,其中一个有字符串的最后三行,另一个有字符串的所有其他行。你知道吗

first_items = ['Human', 'Dog', 'Cat']
last_items = ['Banana', 'Apple', 'Orange']

如何在Python中执行此操作?你知道吗


Tags: 字符串图像文本apple列表itemscatfirst
3条回答

可以将split与初始strip一起使用,以便删除第一个\n。然后使用其维度对列表进行切片,使其可扩展到其他情况:

l = a.strip().split('\n')
l1, l2 = l[:len(l)//2], l[len(l)//2:] 

print(l1)
['Human', 'Dog', 'Cat']

print(l2)
['Banana', 'Apple', 'Orange']

首先,您需要按行筛选数据,过滤掉空行:

lines = list(filter(None, a.splitlines()))

然后,可以使用Python的list slicing

first = lines[:-3]
last = lines[-3:]
a = '''Human
Dog
Cat
Banana
Apple
Orange'''

full_list = a.split('\n')

list1 = full_list[:-3]
last_items = full_list[-3:]

输出:

In [6]: list1
Out[6]: ['Human', 'Dog', 'Cat']

In [7]: last_items
Out[7]: ['Banana', 'Apple', 'Orange']

相关问题 更多 >