gpt4 book ai didi

Python:将一个列表中的值匹配到另一个列表中的值序列

转载 作者:行者123 更新时间:2023-11-28 18:34:31 26 4
gpt4 key购买 nike

真的需要帮助。我将自己与循环搞混了,结果碰壁了。

我有两个列表。

 e_list = [('edward', '1.2.3.4.'), ('jane','1.2.3.4.'), ('jackie', '2.3.4.10.')...]

和 a_list(要检查的主要列表)

 a_list = [('a', '1.2.3.'), ('b', '2.3.'), ('c', '2.3.4.')...]

我的问题:我想将 e_list 中数字中的数字与 a_list 中数字的最短序列相匹配。这样 new_list 就变成了这样:

 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.')...]

我目前所做的(我知道不多)是:

for e in e_list:
e_key = e[1]
for a in a_list:
a_key = a[1]
if a_key in e_key:
print a_key, "in"

这是在检查 a_list 的数量是否在 e_list 的数量中。但随后它会为所有序列打印出“in”,例如对于 b 和 c,jackie 都算作 in,而我希望它是最短的值 b。我现在正在为下一步做什么而苦苦挣扎。任何帮助,将不胜感激。提前谢谢你。

最佳答案

for name, digits in e_list:
shortest = sorted([d for l, d in a_list if digits.startswith(d)], key=len)[0]
print name, digits, shortest

关于Python:将一个列表中的值匹配到另一个列表中的值序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754348/

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