首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 入门例子0005

在本例中可以练习列表的排序。

1. 去除words 列表中重复的元素

code:

words = [

('Thanksgiving', '18', 9, 0, 0),

('white', '21', 8, 1, 1),

('garden', '4', 4, 3, 1),

('hospital', '2', 7, 5, 1),

('ninety-nine', '0', 8, 7, 1),

('strong', '12', 4, 11, 1),

('engineer', '16', 2, 0, 1),

('strict', '7', 2, 13, 1),

('wind', '8', 13, 9, 1),

('engineer', '16', 2, 0, 1),

('strict', '7', 2, 13, 1),

('wind', '8', 13, 9, 1)];

words = list(set(words ));

words

输出:

Out[77]:

[('ninety-nine', '0', 8, 7, 1), ('strict', '7', 2, 13, 1), ('engineer', '16', 2, 0, 1), ('wind', '8', 13, 9, 1), ('strong', '12', 4, 11, 1), ('white', '21', 8, 1, 1), ('Thanksgiving', '18', 9, 0, 0), ('hospital', '2', 7, 5, 1), ('garden', '4', 4, 3, 1)]

2. 按列表元素的两个属性排序, 本例中按照每个tuple元素索引为2和3的属性进行排序

code:

wordschaos = [('ninety-nine', '0', 8, 7, 1),

('strict', '7', 2, 13, 1),

('engineer', '16', 2, 0, 1),

('wind', '8', 13, 9, 1),

('strong', '12', 4, 11, 1),

('white', '21', 8, 1, 1),

('Thanksgiving', '18', 9, 0, 0),

('hospital', '2', 7, 5, 1),

('garden', '4', 4, 3, 1)];

wordsbyorder = sorted(wordschaos, key=lambda tup:( tup[2],tup[3]));

wordsbyorder

wordsbyorder = sorted(wordschaos, key=lambda tup:( tup[2],tup[3]));

wordsbyorder

输出为:

[('engineer', '16', 2, 0, 1), ('strict', '7', 2, 13, 1), ('garden', '4', 4, 3, 1), ('strong', '12', 4, 11, 1), ('hospital', '2', 7, 5, 1), ('white', '21', 8, 1, 1), ('ninety-nine', '0', 8, 7, 1), ('Thanksgiving', '18', 9, 0, 0), ('wind', '8', 13, 9, 1)]

知识点:

Lambda表达式:

在Python、C++等语言里都有Lambda表达式,又称为匿名表达式。这种能够接受一个函数作为参数的函数叫做「高阶函数」(higher-order function),是来自函数式编程(functional programming)的思想。 对抽象思维的要求较高。

一个简单的Lambda 表达式:

调用它运行:

输出结果为:

1

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180223G009WO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券