概述
I have two lists.
e_list = [('edward', '1.2.3.4.'), ('jane','1.2.3.4.'), ('jackie', '2.3.4.10.')...]
and a_list (the main list to be checked against)
a_list = [('a', '1.2.3.'), ('b', '2.3.'), ('c', '2.3.4.')...]
I'd like a modified output to my original question. I'm unsure of how I'd change the code snippet to solve the same question but to output all possibilities?
e.g.
new_list = [ ('edward', '1.2.3.4', '1.2.3'), ('jane', '1.2.3.4.', '1.2.3'), ('jackie', '2.3.4.10.', '2.3.'), ('jackie', '2.3.4.10.', '2.3.4')]
解决方案
You can use list comprehension if you want:
res = [(name, digits, match) for name, digits in e_list
for _, match in a_list
if digits.startswith(match)]
print res
But since it gets complicated, nested loops may be cleaner. You can use yield to get final list:
def get_res():
for name, digits in e_list:
for _, match in a_list:
if digits.startswith(match):
yield name, digits, match
print list(get_res())
最后
以上就是拼搏毛巾为你收集整理的python遍历一个列表匹配另一个列表,Python:将一个列表中的值匹配到另一个列表中的值序列...的全部内容,希望文章能够帮你解决python遍历一个列表匹配另一个列表,Python:将一个列表中的值匹配到另一个列表中的值序列...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复