[CPyUG] 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[CPyUG] 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

王大鹏
对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
比方说打印list中的字串成一行,用空格间隔
我都是这么来,
for i in range(len(listXXX)):
    print listXXX[i]
    if i is not last:
        print ' ',
想在这里求一个帅的写法

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

Rujia Liu
print ' '.join(listXXX)

2011/12/16 王大鹏 <[hidden email]>:

> 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
> 比方说打印list中的字串成一行,用空格间隔
> 我都是这么来,
> for i in range(len(listXXX)):
>    print listXXX[i]
>    if i is not last:
>        print ' ',
> 想在这里求一个帅的写法
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 规则: http://code.google.com/p/cpyug/wiki/PythonCn
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

Rujia Liu
如果listXXX不是字符串数组的话 print ' '.join([str(x) for x in listXXX])

一般情况:最后一个元素是listXXX[-1],前面的是listXXX[:-1]

2011/12/16 Rujia Liu <[hidden email]>:

> print ' '.join(listXXX)
>
> 2011/12/16 王大鹏 <[hidden email]>:
>> 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
>> 比方说打印list中的字串成一行,用空格间隔
>> 我都是这么来,
>> for i in range(len(listXXX)):
>>    print listXXX[i]
>>    if i is not last:
>>        print ' ',
>> 想在这里求一个帅的写法
>>
>> --
>> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
>> 规则: http://code.google.com/p/cpyug/wiki/PythonCn
>> 发言: [hidden email]
>> 退订: [hidden email] (向此发空信即退!)
>> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
>> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
>> 强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

[CPyUG] Re: 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

CJ-19
In reply to this post by 王大鹏
map(fn1,list1[:-1])
fn2(list1[-1])

On Dec 16, 10:43 am, 王大鹏 <[hidden email]> wrote:
> 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
> 比方说打印list中的字串成一行,用空格间隔
> 我都是这么来,
> for i in range(len(listXXX)):
>     print listXXX[i]
>     if i is not last:
>         print ' ',
> 想在这里求一个帅的写法

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
jyf
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

jyf
我的想法是处理过程单独抽出来成为一个函数

顺序执行就可以了, 但需要在 第一个处理函数那判断, 如果idx符合切换条件了
就把全局的那个处理函数指向另外一个具体的处理,
但是在一个函数里影响一个全局的东西 感觉达不到你说的 “帅”的要求

On Thu, Dec 15, 2011 at 07:28:41PM -0800, CJ wrote:

> map(fn1,list1[:-1])
> fn2(list1[-1])
>
> On Dec 16, 10:43 am, 王大鹏 <[hidden email]> wrote:
> > 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
> > 比方说打印list中的字串成一行,用空格间隔
> > 我都是这么来,
> > for i in range(len(listXXX)):
> >     print listXXX[i]
> >     if i is not last:
> >         print ' ',
> > 想在这里求一个帅的写法
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 规则: http://code.google.com/p/cpyug/wiki/PythonCn
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
cheers
    Yunfan Jiang
{'nick':['jyf', 'geek42'], 'im': {'gtalk': '[hidden email]', 'irc': 'irc.freenode.net#ubuntu-cn'}, 'blog': 'http://geek42.info', 'interesting': {'teck': ['linux', 'python', 'lua', 'c', 'nosql', 'redis', 'nginx'], 'history': ['chinese history',], 'sf': [42,], 'music': ['NewAge style', 'chinese old theme', 'Any strange music']}}

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

ubunoon-2
对于打印,可以这么处理一下
print ‘’.join( [str(k) for k in list] )


在 2011年12月16日 上午11:57,jyf <[hidden email]>写道:
我的想法是处理过程单独抽出来成为一个函数

顺序执行就可以了, 但需要在 第一个处理函数那判断, 如果idx符合切换条件了
就把全局的那个处理函数指向另外一个具体的处理,
但是在一个函数里影响一个全局的东西 感觉达不到你说的 “帅”的要求

On Thu, Dec 15, 2011 at 07:28:41PM -0800, CJ wrote:
> map(fn1,list1[:-1])
> fn2(list1[-1])
>
> On Dec 16, 10:43 am, 王大鹏 <[hidden email]> wrote:
> > 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
> > 比方说打印list中的字串成一行,用空格间隔
> > 我都是这么来,
> > for i in range(len(listXXX)):
> >     print listXXX[i]
> >     if i is not last:
> >         print ' ',
> > 想在这里求一个帅的写法
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 规则: http://code.google.com/p/cpyug/wiki/PythonCn
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
cheers
   Yunfan Jiang
{'nick':['jyf', 'geek42'], 'im': {'gtalk': '[hidden email]', 'irc': 'irc.freenode.net#ubuntu-cn'}, 'blog': 'http://geek42.info', 'interesting': {'teck': ['linux', 'python', 'lua', 'c', 'nosql', 'redis', 'nginx'], 'history': ['chinese history',], 'sf': [42,], 'music': ['NewAge style', 'chinese old theme', 'Any strange music']}}

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
To be pythoner
My blog: http://www.cnblogs.com/ubunoon/
珍珠饰品:http://zjyuezz.cn.alibaba.com/


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

saner w
def make(seq):
  foo1(seq[:-1])
  foo2(seq[-1])

def foo1(seq):
  pass

def foo2(val):
  pass

在 2011年12月16日 下午12:02,ubunoon <[hidden email]>写道:
对于打印,可以这么处理一下
print ‘’.join( [str(k) for k in list] )


在 2011年12月16日 上午11:57,jyf <[hidden email]>写道:

我的想法是处理过程单独抽出来成为一个函数

顺序执行就可以了, 但需要在 第一个处理函数那判断, 如果idx符合切换条件了
就把全局的那个处理函数指向另外一个具体的处理,
但是在一个函数里影响一个全局的东西 感觉达不到你说的 “帅”的要求

On Thu, Dec 15, 2011 at 07:28:41PM -0800, CJ wrote:
> map(fn1,list1[:-1])
> fn2(list1[-1])
>
> On Dec 16, 10:43 am, 王大鹏 <[hidden email]> wrote:
> > 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
> > 比方说打印list中的字串成一行,用空格间隔
> > 我都是这么来,
> > for i in range(len(listXXX)):
> >     print listXXX[i]
> >     if i is not last:
> >         print ' ',
> > 想在这里求一个帅的写法
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 规则: http://code.google.com/p/cpyug/wiki/PythonCn
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
cheers
   Yunfan Jiang
{'nick':['jyf', 'geek42'], 'im': {'gtalk': '[hidden email]', 'irc': 'irc.freenode.net#ubuntu-cn'}, 'blog': 'http://geek42.info', 'interesting': {'teck': ['linux', 'python', 'lua', 'c', 'nosql', 'redis', 'nginx'], 'history': ['chinese history',], 'sf': [42,], 'music': ['NewAge style', 'chinese old theme', 'Any strange music']}}

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
To be pythoner
My blog: http://www.cnblogs.com/ubunoon/
珍珠饰品:http://zjyuezz.cn.alibaba.com/


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG] Re: 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作,怎么写?

Morya Feng
俺罗嗦一句
如果不是存储了比较大量的数据,就用楼上几位的解法呗
如果是,
就用索引吧
不过,在列表里面存大量数据应该不是一个好解法吧……

在 2011年12月17日 上午2:26,Saner W <[hidden email]>写道:
def make(seq):
  foo1(seq[:-1])
  foo2(seq[-1])

def foo1(seq):
  pass

def foo2(val):
  pass

在 2011年12月16日 下午12:02,ubunoon <[hidden email]>写道:

对于打印,可以这么处理一下
print ‘’.join( [str(k) for k in list] )


在 2011年12月16日 上午11:57,jyf <[hidden email]>写道:

我的想法是处理过程单独抽出来成为一个函数

顺序执行就可以了, 但需要在 第一个处理函数那判断, 如果idx符合切换条件了
就把全局的那个处理函数指向另外一个具体的处理,
但是在一个函数里影响一个全局的东西 感觉达不到你说的 “帅”的要求

On Thu, Dec 15, 2011 at 07:28:41PM -0800, CJ wrote:
> map(fn1,list1[:-1])
> fn2(list1[-1])
>
> On Dec 16, 10:43 am, 王大鹏 <[hidden email]> wrote:
> > 对一个list进行处理,对前n-1一种操作,最后一个元素另一种操作
> > 比方说打印list中的字串成一行,用空格间隔
> > 我都是这么来,
> > for i in range(len(listXXX)):
> >     print listXXX[i]
> >     if i is not last:
> >         print ' ',
> > 想在这里求一个帅的写法
>
> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 规则: http://code.google.com/p/cpyug/wiki/PythonCn
> 发言: [hidden email]
> 退订: [hidden email] (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
cheers
   Yunfan Jiang
{'nick':['jyf', 'geek42'], 'im': {'gtalk': '[hidden email]', 'irc': 'irc.freenode.net#ubuntu-cn'}, 'blog': 'http://geek42.info', 'interesting': {'teck': ['linux', 'python', 'lua', 'c', 'nosql', 'redis', 'nginx'], 'history': ['chinese history',], 'sf': [42,], 'music': ['NewAge style', 'chinese old theme', 'Any strange music']}}

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html



--
To be pythoner
My blog: http://www.cnblogs.com/ubunoon/
珍珠饰品:http://zjyuezz.cn.alibaba.com/


--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html

--
来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
发言: [hidden email]
退订: [hidden email] (向此发空信即退!)
详情: http://code.google.com/p/cpyug/wiki/PythonCn
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
强烈: 建议使用技巧: 如何有效地报告Bug http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html