鱼C论坛

 找回密码
 立即注册
查看: 2511|回复: 8

[已解决]关于索引

[复制链接]
发表于 2016-10-19 14:02:41 | 显示全部楼层 |阅读模式

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

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

x
为什么这个执行老是报错啊
最佳答案
2016-10-19 17:22:12
本帖最后由 wangzhenas 于 2016-10-19 17:23 编辑

解决该问题还可以使用内建的zip函数,可用于两个队列(列表,元组,集合(不推荐因为集合本身无序))之间生成映射关系,直接用于生成字典
当两个队列不等长时那么会以短的数列为准,短的队列有几个就会包装成几组映射关系
  1. s = "1000,小甲鱼,男"
  2. d = dict(zip(('id','name','sex'),s.split(',')))
  3. print(d)
复制代码
E0JYPI}_YD0%@DMC[]I1MOP.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-10-19 16:35:24 | 显示全部楼层
data.split(',')会形成一个列表。
所以应该改成:
(dict1['id'],dict1['name'],dict1['sex'])=(data.split(',')[0],data.split(',')[1],data.split(',')[2])
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-10-19 16:42:19 | 显示全部楼层
TCA0819 发表于 2016-10-19 16:35
data.split(',')会形成一个列表。
所以应该改成:
(dict1['id'],dict1['name'],dict1['sex'])=(data.spli ...

data = "1000,小甲鱼,男"
MyDict = {}
# 还记得字符串的分割方法吧,别学过就忘啦^_^
(MyDict['id'], MyDict['name'], MyDict['sex']) = data.split(',')

print("ID:   " + MyDict['id'])
print("Name: " + MyDict['name'])
print("Sex   " + MyDict['sex'])
受教了,但是为什么小甲鱼的这个就可以成功执行呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-19 17:00:21 | 显示全部楼层
能说的 再清楚点吗?不清楚你要干嘛》 是要把  字符串分割后 ,分别给字典赋值吗? 这种写法可行?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-19 17:07:40 | 显示全部楼层
rocyjp 发表于 2016-10-19 17:00
能说的 再清楚点吗?不清楚你要干嘛》 是要把  字符串分割后 ,分别给字典赋值吗? 这种写法可行?

这种写法是可以的,可能有些小问题没注意,刚刚试了下这样是可以的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-19 17:13:23 | 显示全部楼层
本帖最后由 rocyjp 于 2016-10-19 17:17 编辑
lylslll 发表于 2016-10-19 16:42
data = "1000,小甲鱼,男"
MyDict = {}
# 还记得字符串的分割方法吧,别学过就忘啦^_^

我试了下是可以的啊!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-19 17:22:12 | 显示全部楼层    本楼为最佳答案   
本帖最后由 wangzhenas 于 2016-10-19 17:23 编辑

解决该问题还可以使用内建的zip函数,可用于两个队列(列表,元组,集合(不推荐因为集合本身无序))之间生成映射关系,直接用于生成字典
当两个队列不等长时那么会以短的数列为准,短的队列有几个就会包装成几组映射关系
  1. s = "1000,小甲鱼,男"
  2. d = dict(zip(('id','name','sex'),s.split(',')))
  3. print(d)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-19 17:55:00 | 显示全部楼层
方法是没错的,错的是data的第二个逗号是中文标点。
  1. >>> data = 'xjy,小甲鱼,男'
  2. >>> dict1 = {}
  3. >>> dict1['id'], dict1['name'], dict1['sex'] = data.split(',')
  4. >>> dict1
  5. {'sex': '男', 'name': '小甲鱼', 'id': 'xjy'}
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-19 18:32:29 | 显示全部楼层
lylslll 发表于 2016-10-19 16:42
data = "1000,小甲鱼,男"
MyDict = {}
# 还记得字符串的分割方法吧,别学过就忘啦^_^

我试了下,确实可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-23 10:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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