找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4697|回复: 8

[已解决] 初学者字典的问题

3

主题

14

帖子

14

积分

贫民

积分
14
海边的沙砾 发表于 2016-10-18 19:33:21 | 显示全部楼层 |阅读模式
dict(【(‘xy’【i-1】,i】) for i in range(1,3)】)

结果是 {‘y’:2, ‘x’:1}

为什么呢?
range的范围是1,2
i-1不是零么?要怎么理解呢?
回复

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
土匪小龙 发表于 2016-10-18 19:46:15 | 显示全部楼层
怎么看不懂你的题目???

点评

感谢,我后边有写我的错误  发表于 2016-10-18 21:17
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-10-18 20:16:26 | 显示全部楼层
把代码贴一下吧

点评

非常感谢  发表于 2016-10-18 21:16
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-10-18 20:51:00 | 显示全部楼层
你的代码应该是这样
  1. dict([('xy'[i-1],i) for i in range(1,3)])
复制代码


range(1,3) 可以取到两个值 1和2
当取1的时候 'xy'[1-1] -> 'xy'[0] -> 'x', 对应的键值对就是 'x':1
当取2的时候'xy'[2-1] -> 'xy'[1] -> 'y', 对应的键值对就是 'y':2

一个建议: 发布代码的时候, 直接从编辑器里复制粘贴过来比较好

点评

非常感谢  发表于 2016-10-18 21:14
python3.4.4, win10
回复 支持 反对

使用道具 举报

3

主题

14

帖子

14

积分

贫民

积分
14
海边的沙砾  楼主| 发表于 2016-10-18 21:11:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

3

主题

14

帖子

14

积分

贫民

积分
14
海边的沙砾  楼主| 发表于 2016-10-18 21:16:34 | 显示全部楼层
我搞懂了,原来'xy'[0]是在xy这里列表里取值,就是0对应的值,我原来还以为是乘法运算xy*0这个样子呢
多谢各位
回复 支持 反对

使用道具 举报

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

本版积分规则

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