Python匹配两个列表

初学python,学到了列表推导式,初试身手,望大神指正

设两个列表,然后对列表内元素进行匹配,因为个人经常看F1,索性拿各车队和车手举例子

每个车队有两名车手,设为member,写上编号,同样车队team,写上对应编号,代码如下:

member = ["1.维斯塔潘和佩雷兹", "2.勒克莱尔和塞恩斯", "3.汉密尔顿和拉塞尔", "4.诺里斯和里卡多", "5.阿隆索奥康",
          "6.加斯利和角田裕毅", "7.阿尔本拉迪菲", "8.博塔斯和周冠宇", "9.米克舒马赫和马格努森"]
team = ["1红牛", "3梅奔", "2法拉利", "4迈凯伦", "5雷诺", "8阿尔法罗密欧", "6小牛", "9哈斯", "7威廉姆斯"]

list = [t + ':' + m[2:] for m in member for t in team if t[0] == m[0]]
print(list)
for each in list:
    print(each)

打印出来是:

['1红牛:维斯塔潘和佩雷兹', '2法拉利:勒克莱尔和塞恩斯', '3梅奔:汉密尔顿和拉塞尔', '4迈凯伦:诺里斯和里卡多', '5雷诺:阿隆索奥康', '6小牛:加斯利和角田裕毅', '7威廉姆斯:阿尔本拉迪菲', '8阿尔法罗密欧:博塔斯和周冠宇', '9哈斯:米克舒马赫和马格努森']
1红牛:维斯塔潘和佩雷兹
2法拉利:勒克莱尔和塞恩斯
3梅奔:汉密尔顿和拉塞尔
4迈凯伦:诺里斯和里卡多
5雷诺:阿隆索奥康
6小牛:加斯利和角田裕毅
7威廉姆斯:阿尔本拉迪菲
8阿尔法罗密欧:博塔斯和周冠宇
9哈斯:米克舒马赫和马格努森

但是我少写了阿斯顿马丁车队(10阿斯顿马丁,10维特尔和斯托罗尔),因为10和1的第一个元素是重合的,想了很久也试了几次也没有做出来。希望大神教我!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值