鱼C论坛

 找回密码
 立即注册
查看: 1163|回复: 6

[已解决]关于列表使用zip合并问题

[复制链接]
发表于 2018-1-3 23:14:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
list1=[0,1,2,None,4,5,6]
list2=[0,1,2,3,4,5,6]


现在我想将list1和list2使用zip函数变成字典,但键不能为空,怎么处理,可以剔除list1里面的None时剔除list2对应index的值呢?

希望处理后的列表是:
list1   [0,1,2,4,5,6]
list2   [0,1,2,4,5,6]
'''
最佳答案
2018-1-4 08:28:40
  1. list1=[0,1,2,None,4,5,6]
  2. list2=[0,1,2,3,4,5,6]
  3. list3 = [i for i in zip(list1, list2) if i[0] != None]
  4. dict1 = dict(list3)
  5. print(dict1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-1-3 23:25:29 | 显示全部楼层
额。。。好吧,自己解决了,妈蛋,想了一晚上这东西,终于搞出来了
  1. list1Index =0

  2. for x in list1:
  3.     if x==None:
  4.         list1.remove(x)
  5.         #print(list1Index)
  6.         list2Index=0
  7.         for y in list2:
  8.             if list2Index==list1Index:
  9.                 list2.remove(y)
  10.             list2Index=list2Index+1
  11.     list1Index=list1Index+1

  12. print(list1)
  13. print(list2)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-3 23:26:28 | 显示全部楼层
完了,自己发帖自己解决了怎么结贴啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-3 23:33:34 | 显示全部楼层
dict1={list1[i]:list2[i] for i in range(len(list1)) if list1[i] != None}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-3 23:37:05 | 显示全部楼层
chakyam 发表于 2018-1-3 23:33
dict1={list1:list2 for i in range(len(list1)) if list1 != None}

亲,你这个语句并没有改变提供的源列表内容呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-4 08:28:40 | 显示全部楼层    本楼为最佳答案   
  1. list1=[0,1,2,None,4,5,6]
  2. list2=[0,1,2,3,4,5,6]
  3. list3 = [i for i in zip(list1, list2) if i[0] != None]
  4. dict1 = dict(list3)
  5. print(dict1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-4 15:38:34 | 显示全部楼层

我自己写的那个测试里面可以转换过来,丢到我的项目里面就转换不了,不知道为什么,又折腾了一晚上还是不行,今天试了你这个,妥妥的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-20 13:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表