﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-pzz-文章分类-ahstu_oj</title><link>http://www.cppblog.com/panzhizhou/category/20877.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 May 2014 10:12:23 GMT</lastBuildDate><pubDate>Wed, 28 May 2014 10:12:23 GMT</pubDate><ttl>60</ttl><item><title>一段用多个分隔符分隔字符串的python代码</title><link>http://www.cppblog.com/panzhizhou/articles/python_split.html</link><dc:creator>pzz</dc:creator><author>pzz</author><pubDate>Sun, 25 May 2014 15:18:00 GMT</pubDate><guid>http://www.cppblog.com/panzhizhou/articles/python_split.html</guid><wfw:comment>http://www.cppblog.com/panzhizhou/comments/207099.html</wfw:comment><comments>http://www.cppblog.com/panzhizhou/articles/python_split.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/panzhizhou/comments/commentRss/207099.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/panzhizhou/services/trackbacks/207099.html</trackback:ping><description><![CDATA[<div></div><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;s=raw_input()<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #0000FF; ">def</span>&nbsp;tsplit(string,&nbsp;delimiters):<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #800000; ">"""</span><span style="color: #800000; ">Behaves&nbsp;str.split&nbsp;but&nbsp;supports&nbsp;multiple&nbsp;delimiters.</span><span style="color: #800000; ">"""</span><br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delimiters&nbsp;=&nbsp;tuple(delimiters)<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack&nbsp;=&nbsp;[string,]<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;delimiter&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;delimiters:<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i,&nbsp;substring&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;enumerate(stack):<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;substack&nbsp;=&nbsp;substring.split(delimiter)<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack.pop(i)<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;j,&nbsp;_substring&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;enumerate(substack):<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack.insert(i+j,&nbsp;_substring)<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;stack<br /><span style="color: #008080; ">14</span>&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;li=tsplit(s,(<span style="color: #800000; ">'</span><span style="color: #800000; ">&nbsp;</span><span style="color: #800000; ">'</span>,<span style="color: #800000; ">'</span><span style="color: #800000; ">.</span><span style="color: #800000; ">'</span>,<span style="color: #800000; ">'</span><span style="color: #800000; ">?</span><span style="color: #800000; ">'</span>,<span style="color: #800000; ">'</span><span style="color: #800000; ">;</span><span style="color: #800000; ">'</span>))<br /><span style="color: #008080; ">16</span>&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(len(li)):<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">print</span>&nbsp;li[i]<br /><span style="color: #008080; ">18</span>&nbsp;</div></div><img src ="http://www.cppblog.com/panzhizhou/aggbug/207099.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/panzhizhou/" target="_blank">pzz</a> 2014-05-25 23:18 <a href="http://www.cppblog.com/panzhizhou/articles/python_split.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>1146-python 复杂排序简单应用</title><link>http://www.cppblog.com/panzhizhou/articles/206998.html</link><dc:creator>pzz</dc:creator><author>pzz</author><pubDate>Sat, 17 May 2014 07:00:00 GMT</pubDate><guid>http://www.cppblog.com/panzhizhou/articles/206998.html</guid><wfw:comment>http://www.cppblog.com/panzhizhou/comments/206998.html</wfw:comment><comments>http://www.cppblog.com/panzhizhou/articles/206998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/panzhizhou/comments/commentRss/206998.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/panzhizhou/services/trackbacks/206998.html</trackback:ping><description><![CDATA[这一题如果是用c来写的话，要用到结构体的多级排序，而我发现用python来写的话，如果用sorted函数，只要一句代码就搞定了，看下面这个结构体：<br />struct node{<br />string name,<br />int year,<br />int month,<br />int day,<br />};<br />通常我们需要自定义写我们的cmp函数，但是我发现在pyhon当中，from operator import itemgetter, attrgetter 这两个东西来做排序而很方便，如下：<br /><div>res=sorted(res,key=itemgetter(1,2,3))<br />这样我们发现，就先按year，month，day这样的顺序做好排序了。<br />这一题的python代码如下：<span style="font-size: 13px; color: #008080;">&nbsp;1</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;</span><span style="font-size: 13px; color: #0000ff;">import</span><span style="background-color: #eeeeee; font-size: 13px;">&nbsp;os</span></div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #0000FF; ">from</span>&nbsp;operator&nbsp;<span style="color: #0000FF; ">import</span>&nbsp;itemgetter,&nbsp;attrgetter<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;N=int(raw_input())<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;res=[]<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(N):<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in_s=raw_input()<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;li=in_s.split()&nbsp;&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">default&nbsp;split&nbsp;with&nbsp;blank</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;res.append(tuple(li))<br /><span style="color: #008080; ">10</span>&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; ">#</span><span style="color: #008000; ">sorted(students,&nbsp;key=itemgetter(1,2))</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">13</span>&nbsp;res=sorted(res,key=itemgetter(1,2,3))<br /><span style="color: #008080; ">14</span>&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;<span style="color: #0000FF; ">in</span>&nbsp;range(N):<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">print</span>&nbsp;res[i][0]<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">18</span>&nbsp;</div><img src ="http://www.cppblog.com/panzhizhou/aggbug/206998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/panzhizhou/" target="_blank">pzz</a> 2014-05-17 15:00 <a href="http://www.cppblog.com/panzhizhou/articles/206998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>