注册
登录
查看:461 | 回复:6
杀破狼
range函数能不能实现range(1,1)=[1]
发表于 2023/8/25 14:18:02
楼主

功能需求是这么来的

for i in range(1,len(list)-2)

就是说len(list)-2可能变成1,这样循环就做不成了

不想用if语句

有没有什么办法可以做到当len(list)-2 = 1的时候,,

以i=1完成循坏下的内容? 谢谢


兰陵王
发表于 2023/8/25 14:20:03
沙发

为什么不想使用if语句呢?

加一个if判断就会非常容易实现,

这些语句本身就是为了解决各类问题而生

不使用if貌似不太好解决

杀破狼
发表于 2023/8/25 14:22:15
板凳

总觉得用了if就有一点特殊化,

想要写出的代码是通配的..


踢米
最佳答案 发表于 2023/8/25 14:26:16
4楼

可以考虑自己定义一个方法,

len(list)-2==1的时候就加1,

后面还是调用range。


杀破狼
发表于 2023/8/25 14:28:28
5楼

谢谢,我试试

易思久
发表于 2023/8/25 14:29:56
6楼

for i in range(1,len(list) 3 and len(list)-2 or 2):


外堵玩
发表于 2023/8/25 14:34:42
7楼

其实用if语句最好, 这样程序读起来没有障碍。

实在不想用if的话, 用个小花招也行, 易读性有所降低。

for i in (list(range(1,len(list)-2)) or [1])


立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品