免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4364 | 回复: 11
打印 上一主题 下一主题

请教python大虾:序列负向下标在实际应用中有何作用? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-05 10:29 |只看该作者 |倒序浏览
本人最近在作语言对比分析,对于python中序列下标负向表达在实际应用中用处不是很了解,哪位大虾可以帮我举几个例子?

例如: astring = 'abcd'
    astring[3]和astring[-1]都表示访问序列的最末一种一个成员
我的问题是:astring[-1]有这个必要吗?实际应用方面的作用?

论坛徽章:
0
2 [报告]
发表于 2008-07-05 11:09 |只看该作者
你知道是3,因为这个字符是你定义的,如果
s=other_function()
要取s的最后一个字符,那就用s[-1],其实用s[len(s)-1]也是一样的,只不过-1更加方便,无论什么语言,都是一样的:
char *c="hello,adfadfadf"
取最后一个,楼主不会真的去数吧?

我是python初学者,如有冒犯,请见谅!

论坛徽章:
0
3 [报告]
发表于 2008-07-05 11:20 |只看该作者

回复 #2 jetking 的帖子

衷心感谢回复。如果只是这样的话,那就是多了一种表达方法,对于程序员而言少记一个length方法,少敲几个字符。有点道理,any more.......?

论坛徽章:
0
4 [报告]
发表于 2008-07-05 13:48 |只看该作者
已经足够

论坛徽章:
0
5 [报告]
发表于 2008-07-05 14:45 |只看该作者

回复 #4 tianqio 的帖子

我觉得不应该这么简单吧
(1)python本身是C写的,我相信作者和我一样对下标从0开始是根深蒂固的概念。现在进行一个概念的突破就为了这点东西?
(2)有没有可能和字符串的反转或者序列的切片算法有关呀?

论坛徽章:
0
6 [报告]
发表于 2008-07-05 15:53 |只看该作者
str的-n不过就是str.__len__()-n,这和下标为0又不冲突
再说又不是python一门语言这样
php/perl里的substr($str,0,-2);
js里的"hello world".slice(0,-2);

论坛徽章:
0
7 [报告]
发表于 2008-07-05 16:29 |只看该作者
一种语言可以给程序员提供多种表达的方式,具体如何运用就看各自己的手段了.

论坛徽章:
0
8 [报告]
发表于 2008-07-07 09:55 |只看该作者
很多语言都是这样的,解决问题的办法不止一种,随自己高兴顺手就行

论坛徽章:
0
9 [报告]
发表于 2009-03-18 14:27 |只看该作者
原帖由 wqkjj 于 2008-7-5 10:29 发表
本人最近在作语言对比分析,对于python中序列下标负向表达在实际应用中用处不是很了解,哪位大虾可以帮我举几个例子?

例如: astring = 'abcd'
    astring[3]和astring[-1]都表示访问序列的最末一种一个成 ...



前边帖子中看到一个负向下标的用法:
a = 'abcde'
print a[::-1]


结果:
edcba


不知道这个负向下标用法的例子是否够强大,能不能达到LZ的要求?

论坛徽章:
0
10 [报告]
发表于 2009-03-18 14:45 |只看该作者

回复 #1 wqkjj 的帖子

对于
s = 'abcd'
s[3]和s[-1]一样
换成
s = 'abc'
s[2]和s[-1]一样

我们可以使用一个 -1 就方便的取到不同长度序列的最后一个元素

至于是不是突破概念嘛
至少我从开始学到现在没有意识到这概念有多么新奇或是难以接受
我感受到的只是方便,方便,方便
因为我是个懒人

还有,Python用C实现或是其作者对C有什么根深蒂固的回忆,与Python语法中要传达给Python程序员的哲学思想没有什么逻辑上的因果关系.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP