gpt4 book ai didi

python - 如果 x 在 RegEx 列表中

转载 作者:行者123 更新时间:2023-11-30 23:04:30 26 4
gpt4 key购买 nike

我有一个如下所示的列表:

mylist = [
u'x|freq|x:y|||cbase',
u'x|freq|x:y||weights_UK18|c%',
u'x|freq||y|weights_UK18|c%',
u'x|mean|x[0,0.25]:y||weights|JFP',
u'x|median|x[0]:y||weights_UK18|JFP_q1'
]

我想根据两个条件查找项目

1. if the item startswith('x|frequency||y|') 
2. and if something exists in between the 4th and 5th "|"

现在我正在循环中执行此操作:

for item in mylist:
vkey = v.split('|')
weight = vkey[4]
if v.startswith('x|frequency||y|') and weight!='':
chart_data_type = 'weighted'

但是有没有一种方法可以在一行中完成此操作?

if this in mylist: 
#blah blah

最佳答案

你可以制作自己的发电机,即,

def G(L):
for item in L:
vkey = item.split('|')
weight = vkey[4]
if item.startswith('x|frequency||y|') and weight!='':
yield item

for item in G(mylist):
print(item)

或使用列表理解(假设输入有效,因此 [4] 不会生成异常),例如,

for item in [el for el in mylist if el.startswith('x|frequency||y|') and el.split('|')[4]!='']:
print(item)

关于python - 如果 x 在 RegEx 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33693422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com