Python论坛  - 讨论区

标题:[python-chinese] 有没有更好的算法?

2005年06月11日 星期六 11:22

程启盛 cqs1015 at 163.com
Sat Jun 11 11:22:49 HKT 2005

大家节日好!
    有下面的需求,有什么好的方法实现?  
      
      元始列表:
      list1=[a1,b1,c1,d1,e1,f1]
      list2=[a2,b2,c2,d2,e2,f1]
      list3=[a3,b3,c3,d3,e3,f3]
      list4=[a4,b4,c4,d4,e4,f4]
      ......
      #还有很多列表

      d1=2
      d2=1
      d3=10
      d4=5
      #列表中list(n)[3]的值.

           
      #按list(n)[3]列排序后,生成新的列表.
      list1=[a2,b2,c2,d2,e2,f1]
      list2=[a1,b1,c1,d1,e1,f1]
      list3=[a4,b4,c4,d4,e4,f4]
      list4=[a3,b3,c3,d3,e3,f3]
      
                                              cqs
                                              6.11
      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050611/bdc36c2b/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年06月11日 星期六 11:58

Jason Liu telecomliu at gmail.com
Sat Jun 11 11:58:36 HKT 2005

list = [list1, list2, list3, list4]
def cmp(x, y):
	if x[3] > y[3]: return 1
	elif x[3] < y[3]: return -1
	else: return 0
list.sort(cmp)

在 05-6-11,程启盛<cqs1015 at 163.com> 写道:
> 大家节日好!
> 有下面的需求,有什么好的方法实现? 
> 
> 元始列表:
> list1=[a1,b1,c1,d1,e1,f1]
> list2=[a2,b2,c2,d2,e2,f1]
> list3=[a3,b3,c3,d3,e3,f3]
> list4=[a4,b4,c4,d4,e4,f4]
> ......
> #还有很多列表
> 
> d1=2
> d2=1
> d3=10
> d4=5
> #列表中list(n)[3]的值.
> 
> 
> #按list(n)[3]列排序后,生成新的列表.
> list1=[a2,b2,c2,d2,e2,f1]
> list2=[a1,b1,c1,d1,e1,f1]
> list3=[a4,b4,c4,d4,e4,f4]
> list4=[a3,b3,c3,d3,e3,f3]
> 
> cqs
> 6.11
> 
> 
> 
> 
> 
> 
> 
> 
>   已有1亿用户选择了网易邮箱,你呢?
>   网易163免费邮已全面升级至2000兆超大空间,支持收发30兆超大附件!
>   注册登录网易邮箱,每周都有惊喜,50元现金券完全白送,点击查看活动详情! 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年06月11日 星期六 15:01

王刚 hamburgerwang at gmail.com
Sat Jun 11 15:01:11 HKT 2005

重载啊

在05-6-11,Jason Liu <telecomliu at gmail.com> 写道: 
> 
> list = [list1, list2, list3, list4]
> def cmp(x, y):
> if x[3] > y[3]: return 1
> elif x[3] < y[3]: return -1
> else: return 0
> list.sort(cmp)
> 
> 在 05-6-11,程启盛<cqs1015 at 163.com> 写道:
> > 大家节日好!
> > 有下面的需求,有什么好的方法实现?
> >
> > 元始列表:
> > list1=[a1,b1,c1,d1,e1,f1]
> > list2=[a2,b2,c2,d2,e2,f1]
> > list3=[a3,b3,c3,d3,e3,f3]
> > list4=[a4,b4,c4,d4,e4,f4]
> > ......
> > #还有很多列表
> >
> > d1=2
> > d2=1
> > d3=10
> > d4=5
> > #列表中list(n)[3]的值.
> >
> >
> > #按list(n)[3]列排序后,生成新的列表.
> > list1=[a2,b2,c2,d2,e2,f1]
> > list2=[a1,b1,c1,d1,e1,f1]
> > list3=[a4,b4,c4,d4,e4,f4]
> > list4=[a3,b3,c3,d3,e3,f3]
> >
> > cqs
> > 6.11
> >
> >
> >
> >
> >
> >
> >
> >
> > 已有1亿用户选择了网易邮箱,你呢?
> > 网易163免费邮已全面升级至2000兆超大空间,支持收发30兆超大附件!
> > 注册登录网易邮箱,每周都有惊喜,50元现金券完全白送,点击查看活动详情!
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
Best Wishes & Regards,
Hamburger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050611/cdb597c4/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年06月11日 星期六 16:33

Zoom Quiet zoom.quiet at gmail.com
Sat Jun 11 16:33:11 HKT 2005

看不明白,怎么个思路是也乎?!
大家要讲解一下子哪!?

在 05-6-11,Jason Liu<telecomliu at gmail.com> 写道:
> list = [list1, list2, list3, list4]
> def cmp(x, y):
>         if x[3] > y[3]: return 1
>         elif x[3] < y[3]: return -1
>         else: return 0
> list.sort(cmp)
> 
> 在 05-6-11,程启盛<cqs1015 at 163.com> 写道:
> > 大家节日好!
> > 有下面的需求,有什么好的方法实现?
> >
> > 元始列表:
> > list1=[a1,b1,c1,d1,e1,f1]
> > list2=[a2,b2,c2,d2,e2,f1]
> > list3=[a3,b3,c3,d3,e3,f3]
> > list4=[a4,b4,c4,d4,e4,f4]
> > ......
> > #还有很多列表
> >
> > d1=2
> > d2=1
> > d3=10
> > d4=5
> > #列表中list(n)[3]的值.
> >
> >
> > #按list(n)[3]列排序后,生成新的列表.
> > list1=[a2,b2,c2,d2,e2,f1]
> > list2=[a1,b1,c1,d1,e1,f1]
> > list3=[a4,b4,c4,d4,e4,f4]
> > list4=[a3,b3,c3,d3,e3,f3]
> >
> > cqs
> > 6.11
> >
> >
> >
> >
> >
> >
> >
> >
> >   已有1亿用户选择了网易邮箱,你呢?
> >   网易163免费邮已全面升级至2000兆超大空间,支持收发30兆超大附件!
> >   注册登录网易邮箱,每周都有惊喜,50元现金券完全白送,点击查看活动详情!
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
[Time is unimportant, only life important!]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年06月11日 星期六 17:12

Dryice Liu dryiceliu at gmail.com
Sat Jun 11 17:12:08 HKT 2005

根据 cqs 给出的规则写出比较元始列表的函数,
然后利用list.sort排序

Zoom Quiet <zoom.quiet at gmail.com> wrote:

> 看不明白,怎么个思路是也乎?!
> 大家要讲解一下子哪!?
>
> 在 05-6-11,Jason Liu<telecomliu at gmail.com> 写道:
>> list = [list1, list2, list3, list4]
>> def cmp(x, y):
>>         if x[3] > y[3]: return 1
>>         elif x[3] < y[3]: return -1
>>         else: return 0
>> list.sort(cmp)
>> 
>> 在 05-6-11,程启盛<cqs1015 at 163.com> 写道:
>> > 大家节日好!
>> > 有下面的需求,有什么好的方法实现?
>> >
>> > 元始列表:
>> > list1=[a1,b1,c1,d1,e1,f1]
>> > list2=[a2,b2,c2,d2,e2,f1]
>> > list3=[a3,b3,c3,d3,e3,f3]
>> > list4=[a4,b4,c4,d4,e4,f4]
>> > ......
>> > #还有很多列表
>> >
>> > d1=2
>> > d2=1
>> > d3=10
>> > d4=5
>> > #列表中list(n)[3]的值.
>> >
>> >
>> > #按list(n)[3]列排序后,生成新的列表.
>> > list1=[a2,b2,c2,d2,e2,f1]
>> > list2=[a1,b1,c1,d1,e1,f1]
>> > list3=[a4,b4,c4,d4,e4,f4]
>> > list4=[a3,b3,c3,d3,e3,f3]
>> >
>> > cqs
>> > 6.11
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >   已有1亿用户选择了网易邮箱,你呢?
>> >   网易163免费邮已全面升级至2000兆超大空间,支持收发30兆超大附件!
>> >   注册登录网易邮箱,每周都有惊喜,50元现金券完全白送,点击查看活动详情!
>> > _______________________________________________
>> > python-chinese list
>> > python-chinese at lists.python.cn
>> > http://python.cn/mailman/listinfo/python-chinese
>> >
>> >
>> >
>> 
>> _______________________________________________
>> python-chinese list
>> python-chinese at lists.python.cn
>> http://python.cn/mailman/listinfo/python-chinese
>> 
>> 
>> 
>
>
> -- 
> [Time is unimportant, only life important!]
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese

-- 
Dryice @ http://dryice.3322.org

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/sylvester-response.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 186 bytes
Desc: not available
Url : http://lists.exoweb.net/pipermail/python-chinese/attachments/20050611/3e1bbbd5/attachment.pgp

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年06月11日 星期六 17:48

Qiangning Hong hongqn at gmail.com
Sat Jun 11 17:48:37 HKT 2005

Jason Liu wrote:
> list = [list1, list2, list3, list4]
> def cmp(x, y):
> 	if x[3] > y[3]: return 1
> 	elif x[3] < y[3]: return -1
> 	else: return 0
> list.sort(cmp)

简化一下,使用内置cmp函数,速度更快:

lst = [list1, list2, list3, list4]   # 避免使用list作变量名
lst.sort(lambda x, y: cmp(x[3], y[3]))


-- 
Qiangning Hong

 __________________________________________
/ Tact, n.:                                \
|                                          |
\ The unsaid part of what you're thinking. /
 ------------------------------------------
  \
   \ ,   _ ___.--'''`--''//-,-_--_.
      \`"' ` || \\ \ \\/ / // / ,-\\`,_
     /'`  \ \ || Y  | \|/ / // / - |__ `-,
    /@"\  ` \ `\ |  | ||/ // | \/  \  `-._`-,_.,
   /  _.-. `.-\,___/\ _/|_/_\_\/|_/ |     `-._._)
   `-'``/  /  |  // \__/\__  /  \__/ \
        `-'  /-\/  | -|   \__ \   |-' |
          __/\ / _/ \/ __,-'   ) ,' _|'
         (((__/(((_.' ((___..-'((__,'

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号