如何打印由 python 中的管道符号分隔的字符串列表中的第一个元素
How to print first element in list of string which is delimited by Pipe symbol in python
如何从每个管道分隔符值中获取第一个元素。
test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|
例如:我想打印这样的输出:
test-123-2
lskd-929-8282
ploi-90293-2
opuye-8392-kl
我试过这样的事情:
value=test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|
result = value.split('|')
restult[0]
但它没有达到我预期的输出。有人可以指导我如何打印每列中由管道符号分隔的所有第一个元素
提前致谢。
将 split(',')
与 split('|')
合并,如下所示:
res = [w.split(',')[0] for w in s.split('|')]
输出:
>>> for v in res[:-1]:
... print(v)
...
test-123-2
lskd-929-8282
ploi-90293-2
opuye-8392-kl
我们可以进行双重拆分,注意空值。试试这个:
s = 'test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|'
result = [data.split(',')[0] for data in s.split('|') if data]
现在 result
包含预期值,因此您可以根据需要使用它们:
result
=> ['test-123-2', 'lskd-929-8282', 'ploi-90293-2', 'opuye-8392-kl']
另一种不使用列表理解的不太优雅的方法是这样的:
test = "test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|"
result = list(map(lambda y: y.split(',')[0], list(map(lambda x: x, test.split('|')))))
for r in result:
print(r)
结果是:
test-123-2
lskd-929-8282
ploi-90293-2
opuye-8392-kl
如何从每个管道分隔符值中获取第一个元素。
test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|
例如:我想打印这样的输出:
test-123-2
lskd-929-8282
ploi-90293-2
opuye-8392-kl
我试过这样的事情:
value=test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|
result = value.split('|')
restult[0]
但它没有达到我预期的输出。有人可以指导我如何打印每列中由管道符号分隔的所有第一个元素
提前致谢。
将 split(',')
与 split('|')
合并,如下所示:
res = [w.split(',')[0] for w in s.split('|')]
输出:
>>> for v in res[:-1]:
... print(v)
...
test-123-2
lskd-929-8282
ploi-90293-2
opuye-8392-kl
我们可以进行双重拆分,注意空值。试试这个:
s = 'test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|'
result = [data.split(',')[0] for data in s.split('|') if data]
现在 result
包含预期值,因此您可以根据需要使用它们:
result
=> ['test-123-2', 'lskd-929-8282', 'ploi-90293-2', 'opuye-8392-kl']
另一种不使用列表理解的不太优雅的方法是这样的:
test = "test-123-2,abc,1232,,21,fd|lskd-929-8282,vbd,3221,,983,ew|ploi-90293-2,xsw,9073,,34,mn|opuye-8392-kl,few,45432,,234,df|"
result = list(map(lambda y: y.split(',')[0], list(map(lambda x: x, test.split('|')))))
for r in result:
print(r)
结果是:
test-123-2
lskd-929-8282
ploi-90293-2
opuye-8392-kl