我正在尝试学习 python itertools(到目前为止喜欢它!),但我遇到了一个问题。我有以下两个列表:
a=["http://www.xyz.com/jhuh7287", "http://www.hjuk.com/kashjh716", "http://www.psudjg.com/9279jshkoh", "http://www.xyz.com/jhuh7287", "http://www.xyz.com/9289jhjbg"]
data=["k","some small string here", "so med string here", "some string here","l"]
tempstring="http://www.xyz.com"
最初,我想要的是删除低于一定长度的所有字符串的 data[i],然后删除 a.xml 中的相应条目。为此,我使用了以下内容:
iselectors = [x is not len(str(x))>1 for x in data]
data=list(itertools.compress(data, iselectors))
a=list(itertools.compress(a, selectors))
..效果很好。现在,我需要向我的 iselector 添加另一个条件,它指出只有当“tempstring is in a[i]”并且 len(str(x))>1..
所以,我尝试过类似的方法:
iselectors = [tempstring in a and x is not len(str(x))>1 for x in data]
...但我不确定这是正确的,因为当我使用“tempstring in a”时,我认为我不会遍历整个 a
任何指导将不胜感激。谢谢。