Python中文
首页
教程
问答
标签
搜索
登录
注册
Python:将一个列表中的值与另一个lis中的值序列相匹配
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>真的需要帮助。我把自己弄糊涂了,撞到了砖墙上。在</p> <p>我有两张单子。在</p> <pre><code> e_list = [('edward', '1.2.3.4.'), ('jane','1.2.3.4.'), ('jackie', '2.3.4.10.')...] </code></pre> <p>和一个_列表(要对照的主列表)</p> ^{pr2}$ <p>我的问题是:我想把<em>e<eu list</em>中的数字与<em>a<eu list</em>中的最短数字序列相匹配。因此,新列表的形式如下:</p> <pre><code> 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.')...] </code></pre> <p>我目前所做的(我知道不多)是:</p> <pre><code>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" </code></pre> <p>它所做的是检查<em>a_list</em>的编号是否在<em>e\u list</em>中。但是它会打印出所有序列的“in”,例如,jackie在b和c中都被算作in,而我希望它是最短的值,b。我现在正为下一步的工作而挣扎。任何帮助都将不胜感激。提前谢谢。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<pre><code>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 </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
10 回答
无法使用Django\u mssql\u后端迁移到外部hos
2 回答
无法使用Django&Python3.4连接到MySql
4 回答
无法使用Django+nginx上载媒体文件
10 回答
无法使用Django1.6导入名称模式
7 回答
无法使用Django1.7和mongodb登录管理站点
6 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
6 回答
无法使用Djangockedi验证CBV中的字段
4 回答
无法使用Djangocketditor上载图像(错误400)
6 回答
无法使用Djangocron进行函数调用
8 回答
无法使用Djangofiler djang上载文件
9 回答
无法使用Djangokronos
6 回答
无法使用Djangomssql provid
9 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
10 回答
无法使用Djangomssq迁移Django数据库
9 回答
无法使用Djangonox创建用户
5 回答
无法使用Djangopyodb从Django查询SQL Server
7 回答
无法使用Djangopython3ldap连接到ldap
2 回答
无法使用Djangoredis连接到redis
8 回答
无法使用Django中的FK创建新表
10 回答