-
红糖糍粑
您可以使用startswith:selected_ipc = ['H01L']df = ['F24J3/02 ', 'G01N31/10 ', 'H01L27/14 ', 'G21H1/10 ', 'H01L21/36 ']for item in selected_ipc: for item1 in df: if item1.startswith(item): print(item1) else: print("No match")输出No matchNo matchH01L27/14 No matchH01L21/36 更新对于嵌套列表,您可以使用列表理解:selected_ipc = ['H01L']df = [['F24J3/02 ', 'A123'], ['G01N31/10 ', 'A124'], ['H01L27/14 ', 'A125'], ['G21H1/10 ', 'A126'], ['H01L21/36 ', 'A127']]result = [lst for lst in df if any(lst[0].startswith(e) for e in selected_ipc)]print(result)输出[['H01L27/14 ', 'A125'], ['H01L21/36 ', 'A127']]作为替代方案,您可以使用带有两个循环的较少Pythonic 的方式:selected_ipc = ['H01L']df = [['F24J3/02 ', 'A123'], ['G01N31/10 ', 'A124'], ['H01L27/14 ', 'A125'], ['G21H1/10 ', 'A126'], ['H01L21/36 ', 'A127']]result = []for lst in df: found = False for e in selected_ipc: if lst[0].startswith(e): found = True result.append(lst) break if not found: print("No match")print(result)输出No matchNo matchNo match[['H01L27/14 ', 'A125'], ['H01L21/36 ', 'A127']]
-
阿晨1998
你可以用下面的列表理解来做到这一点selected_ipc = ['H01L']df = ['F24J3/02 ', 'G01N31/10 ', 'H01L27/14 ', 'G21H1/10 ', 'H01L21/36 ']for item in selected_ipc: match_lst = [item1 for item1 in df if item in item1]print(match_lst)更新如果要检查列表“df”中列表的其他元素(而不是第一个),则可以查看以下代码selected_ipc = ['H01L', 'G01N', 'A126']df = [['F24J3/02 ', 'A123'], ['G01N31/10 ', 'A124'], ['H01L27/14 ', 'A125'], ['G21H1/10 ', 'A126'], ['H01L21/36 ', 'A127']]match_lst = [item1 for item1 in df if any(i.startswith(item) for item in selected_ipc for i in item1)]print(match_lst)输出[['G01N31/10 ', 'A124'], ['H01L27/14 ', 'A125'], ['G21H1/10 ', 'A126'], ['H01L21/36 ', 'A127']]
-
慕妹3242003
selected_ipc = ['H01L']df = ['F24J3/02 ', 'G01N31/10 ', 'H01L27/14 ', 'G21H1/10 ', 'H01L21/36 ']l = []for i in df: if selected_ipc[0] in i: l.append(i)print l