天天看点

python常问的基础面试题

1 range和xrange的区别

答: range是直接生成一个列表,而xrange是生成一个对象,只要在用的时候在调用,xrange可以在大的列表中开辟的内存块下!

<code>In [</code><code>8</code><code>]: </code><code>range</code><code>(</code><code>1</code><code>,</code><code>10</code><code>)</code>

<code>Out[</code><code>8</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>4</code><code>, </code><code>5</code><code>, </code><code>6</code><code>, </code><code>7</code><code>, </code><code>8</code><code>, </code><code>9</code><code>]</code>

<code>In [</code><code>9</code><code>]: a </code><code>=</code><code>xrange</code><code>(</code><code>1</code><code>,</code><code>10</code><code>)</code>

<code>In [</code><code>10</code><code>]: </code><code>type</code><code>(a)</code>

<code>Out[</code><code>10</code><code>]: </code><code>xrange</code>

<code>In [</code><code>11</code><code>]: a[</code><code>0</code><code>]</code>

<code>Out[</code><code>11</code><code>]: </code><code>1</code>

2 sort 和sorted的区别

相同点:

a.都是python的内建函数

b.都有排序的功能

异同点:

sort只能对列表(且会修改原 内容 相当于理解linux命令中的 sed -i 效果一样)

sorted 能对列表,字符串,字典进行排序,且不修改原来的元素,只是输出一个排序后的对象值可赋值

如果是字符串,则返回一个各个字母组成的列表形式

如果是列表,则返回默认增的排列形式

如果是字典,则默认返回以key组成的排序列表

总之返回的都是列表

举例吧:

<code>In [</code><code>15</code><code>]: l </code><code>=</code> <code>[</code><code>3</code><code>,</code><code>1</code><code>,</code><code>2</code><code>,</code><code>8</code><code>]</code>

<code>In [</code><code>16</code><code>]: l.sort()</code>

<code>In [</code><code>17</code><code>]: l</code>

<code>Out[</code><code>17</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>, </code><code>8</code><code>]</code>

<code>In [</code><code>18</code><code>]: d </code><code>=</code> <code>{</code><code>1</code><code>:</code><code>'a'</code><code>,</code><code>3</code><code>:</code><code>'d'</code><code>,</code><code>2</code><code>:</code><code>'d'</code><code>}</code>

<code>In [</code><code>19</code><code>]: </code><code>sorted</code><code>(d)</code>

<code>Out[</code><code>19</code><code>]: [</code><code>1</code><code>, </code><code>2</code><code>, </code><code>3</code><code>]</code>

<code>In [</code><code>20</code><code>]: d</code>

<code>Out[</code><code>20</code><code>]: {</code><code>1</code><code>: </code><code>'a'</code><code>, </code><code>2</code><code>: </code><code>'d'</code><code>, </code><code>3</code><code>: </code><code>'d'</code><code>}</code>

<code>In [</code><code>21</code><code>]: l </code><code>=</code><code>'i love you'</code>

<code>In [</code><code>22</code><code>]: </code><code>sorted</code><code>(l)</code>

<code>Out[</code><code>22</code><code>]: [</code><code>' '</code><code>, </code><code>' '</code><code>, </code><code>'e'</code><code>, </code><code>'i'</code><code>, </code><code>'l'</code><code>, </code><code>'o'</code><code>, </code><code>'o'</code><code>, </code><code>'u'</code><code>, </code><code>'v'</code><code>, </code><code>'y'</code><code>]</code>

许多python初学者,对sort()方法比较糊涂。有的时候会需要一个排序好的列表,而又想保存原有未排序列表,他们会这么操作:

&gt;&gt;&gt; a = [5,7,6,3,4,1,2]

&gt;&gt;&gt; b = a.sort()

&gt;&gt;&gt; print b

None

这个时候问题出现了,变量b得到的是一个空值。那么想要得到排序好的列表,又想保留原列表怎么办呢?列表sorted()方法可以帮你实现。

sorted()方法

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1764722如需转载请自行联系原作者

cuizhiliang

上一篇: 链表