鱼C论坛

 找回密码
 立即注册
查看: 2987|回复: 1

[已解决]有大佬能帮忙解释一下下面的代码什么意思嘛

[复制链接]
发表于 2018-6-2 11:20:32 | 显示全部楼层 |阅读模式

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

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

x
用List实现Python里的?:条件表达式

>>> [1,2][1==0]
1
>>> [1,2][1<>0]
2
最佳答案
2018-6-2 11:33:22
本帖最后由 Rockit 于 2018-6-2 13:24 编辑

这个结构我分析是这样的:
列表+[Index索引]
第一个中括号里表示的是列表的内容,第二个中括号表示的是索引值。

不好理解的地方应该是后面的索引值表示,是用逻辑值来表示的。
[1==0]中的"=="是判断是否相等=>[1==0]=[False]=[0]<=>[1,2][0]
[1<>0]中的"<>"是判断是否不等=>[1<>0]=[True]=[1]<=>[1,2][1]
所以
[1,2][1==0]返回列表[1,2]的第一个元素0
[1,2][1<>0]返回列表[1,2]的第二个元素1
因为列表的索引是从0开始的

这种方法还可以返回切片,譬如
[1,2,3,4,5,6,7][1:5]会返回[2,3,4,5]
但索引值不能超出列表不然会报错“IndexError: list index out of range”

如果觉得我的回答可以,可以给我设置最佳回答,也可以给我评分哦!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-6-2 11:33:22 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Rockit 于 2018-6-2 13:24 编辑

这个结构我分析是这样的:
列表+[Index索引]
第一个中括号里表示的是列表的内容,第二个中括号表示的是索引值。

不好理解的地方应该是后面的索引值表示,是用逻辑值来表示的。
[1==0]中的"=="是判断是否相等=>[1==0]=[False]=[0]<=>[1,2][0]
[1<>0]中的"<>"是判断是否不等=>[1<>0]=[True]=[1]<=>[1,2][1]
所以
[1,2][1==0]返回列表[1,2]的第一个元素0
[1,2][1<>0]返回列表[1,2]的第二个元素1
因为列表的索引是从0开始的

这种方法还可以返回切片,譬如
[1,2,3,4,5,6,7][1:5]会返回[2,3,4,5]
但索引值不能超出列表不然会报错“IndexError: list index out of range”

如果觉得我的回答可以,可以给我设置最佳回答,也可以给我评分哦!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-2 12:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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