热线电话:13121318867

登录
2018-11-26 阅读量: 866
反向迭代和排序后再迭代

来看另外两个很有用的函数:reversed和sorted。它们类似于列表方法reverse和sort(sorted 接受的参数也与sort类似),但可用于任何序列或可迭代的对象,且不就地修改对象,而是返回 反转和排序后的版本。

>>> sorted([4, 3, 6, 8, 3])

[3, 3, 4, 6, 8]

>>> sorted('Hello, world!')

[' ', '!', ',', 'H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w']

>>> list(reversed('Hello, world!'))

['!', 'd', 'l', 'r', 'o', 'w', ' ', ',', 'o', 'l', 'l', 'e', 'H']

>>> ''.join(reversed('Hello, world!'))

'!dlrow ,olleH'

请注意,sorted返回一个列表,而reversed像zip那样返回一个更神秘的可迭代对象。你无需 关心这到底意味着什么,只管在for循环或join等方法中使用它,不会有任何问题。只是你不能 对它执行索引或切片操作,也不能直接对它调用列表的方法。要执行这些操作,可先使用list对 返回的对象进行转换。


提示 要按字母表排序,可先转换为小写。为此,可将sort或sorted的key参数设置为str.lower。 例如,sorted("aBc", key=str.lower)返回['a', 'B', 'c']。

0.0000
6
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子