Python读书笔记9(列表排序与复制)

[复制链接]
ling332601 发表于 2017-12-31 00:07:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
我们针对列表需要进行整体的排序,今天就和大家聊一聊列表的排序应用。2 R( A$ u$ S. n8 J" i
一、永久性排序
, ~4 k) v! U! ^& B5 p什么是永久性排序呢,之前很多方法比如针对字符串的title方法,针对列表的重复用法,改变的仅仅是显示,原对象内容并没有发生变化,接下来介绍的方法是可以改变对象本身的内容。4 X3 H6 b+ r1 Q5 P+ T- _

  r2 J' ]. i* q# Usort方法是对某个列表进行升序排序,本案例是对数字进行排序,文本排序是一样的。* I3 J( `# u, F: I; I( M, q$ x9 h% G0 v
那降序如何实现呢?增加一个参数即可!  V# E, L6 F7 T" \% i

% f, r4 F1 K) M# X# n二、临时排序7 Q* U7 v3 G) h- T
上一个分享的是永久排序,实施后改变列表排序,本方法只是改变显示的内容,列表本身顺序不做改变。
5 f1 l0 U, g, W9 P
; g3 W- N/ ~0 c: R7 z三、倒转排序列表$ x4 R3 g4 I7 N- f7 o) z
前面分享的不是升序就是降序排序,接下来和大家分享一下翻转或者倒转列表的排序。
  y1 V# }# l/ Z" e9 }本倒转排序是永久性的哦!如果想恢复,操作两次即可!
( B: Z  h( W; q; W3 Z9 p. ~& o. I( @9 Z  W1 `  G& ?# c
四、列表的复制
% V. P* l8 e! Y# \( S( H5 N列表与列表之间是不能直接使用等号复制的,我们看一下案例。
. W) q, T, J8 g  P6 O5 M& P# W; O8 N$ a' o5 @" ~
我们看一下结果,当我们把score2等于score1后,分别打印两个,发现两种是一致的。
, ~/ ?2 o3 \- s: l) D% c0 e但是当我们把score2的第一个元素改为0的时候,两个列表的值同时发生了变化,为什么会这样呢?, @+ b, I( @$ b$ F! e
因为score1和score2是共享引用,他们虽然变量名字不同,但是其实引用的是一个列表。
# h) y$ s6 G5 T5 }) u% ]就像你的女朋友可以称之为“宝贝”、也可以称之为“honey”。不管你惹恼宝贝、还是honey,生气的都是你女朋友,你都会吃不了兜着走~. V9 U* B  c; |
说了这么多,如何才能正确的复制呢?两种方法任君选择!
/ W7 i0 n4 p% v; E  \. I; ~方法一:copy方法~1 v+ j. I4 q& r! T& z
, V+ }/ W9 V9 d; {, R5 ^1 m
方法二:赋值元素法) r  F5 ]3 e+ k* D# u: w( n* V
$ E" k/ b% n1 b4 ^! @. L
通过.copy()方法或者score1[:]全量复制元素,效果相同,你喜欢就好!9 ~& Z0 z6 j6 y5 d: t) ]
下期和大家分享列表的特殊形态!元组!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
推荐阅读更多+
阅读排行更多+
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图