python使用建议技巧分享(三)
作者:songleo 发布时间:2021-07-07 06:58:16
标签:建议,python,技巧
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
1 如何去掉list中重复元素
my_list = [3, 2, 1, 1, 2, 3]
print my_list
# [3, 2, 1, 1, 2, 3]
unique_list = list(set(my_list))
print unique_list
# [1, 2, 3]
或者
from collections import OrderedDict
my_list = [3, 2, 1, 1, 2, 3]
print my_list
# [3, 2, 1, 1, 2, 3]
unique_list = list(OrderedDict.fromkeys(my_list))
print unique_list
# [3, 2, 1]
前一种方式不会保留list的元素顺序,后一种方式会保留list的元素顺序。
2 如何读取dict中的值
不推荐方式
url_dict = {
'google': 'https://www.google.com/',
'github': 'https://github.com/',
'facebook': 'https://www.facebook.com/',
}
print url_dict['facebook']
print url_dict['google']
print url_dict['github']
# print url_dict['baidu']
# KeyError: 'baidu'
# https://www.facebook.com/
# https://www.google.com/
# https://github.com/
推荐方式
url_dict = {
'google': 'https://www.google.com/',
'github': 'https://github.com/',
'facebook': 'https://www.facebook.com/',
}
print url_dict.get('facebook', 'https://www.google.com/')
print url_dict.get('google', 'https://www.google.com/')
print url_dict.get('github', 'https://www.google.com/')
print url_dict.get('baidu', 'https://www.google.com/')
# https://www.facebook.com/
# https://www.google.com/
# https://github.com/
# https://www.google.com/
前一种方式读取一个不存在的key时,会导致KeyError,例如print url_dict[‘baidu'],因为字典中不存在baidu,所以会导致KeyError。后一种方式使用字典的get方法,如果key不存在,不会产生KeyError,如果给了默认值,会返回默认值,否则返回None。
3 如何排序字典
unordered_dict = {'c': 1, 'b': 2, 'a': 3}
print sorted(unordered_dict.items(), key=lambda e: e[1])
# [('c', 1), ('b', 2), ('a', 3)]
print sorted(unordered_dict.items(), key=lambda e: e[0])
# [('a', 3), ('b', 2), ('c', 1)]
print sorted(unordered_dict.items(), key=lambda e: e[1], reverse=True)
# [('a', 3), ('b', 2), ('c', 1)]
第一种方式是按字典的value升序排序,第二种方式是按字典的key升序排序,第三种方式是按字典的value降序排序,和第一种方式相反,因为指定了参数reverse为True。sorted函数功能挺强大,不止可以排序字典,任何iterable对象都可以排序,如果想深入了解请戳https://docs.python.org/2.7/howto/sorting.html#sortinghowto。
来源:https://cloud.tencent.com/developer/article/1123061


猜你喜欢
- --按日 select sum(consume),day([date]) from consume_record where year([d
- 本文实例讲述了Python图像处理之颜色的定义与使用。分享给大家供大家参考,具体如下:python中的颜色相关的定义在matplotlib模
- 单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节
- 看到类似C:\>是在Windows提供的命令行模式,看到>>>是在Python交互式环境下。在命令行模式下,可以执行
- vue中代码的复用, 为我们提供了 mixnis. 模板的复用, 为我们提供了 插槽( slot )插槽的分类默认插槽具名插槽作用域插槽当我
- pycharm简介PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语
- 1.cv2.getStructuringElement(shape,ksize,anchor=(-1,-1))该函数构造并返回可进一步传递给
- 关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。1. 动态语言又叫动态编程语言,是指程序在运行时可以改变其结构
- 1.提示窗口,当页面被打开时就弹出提示窗口。<style type="text/css"> body { b
- 相信很多小伙伴想着自己的移动端项目能够自动转换为rem,这才符合前端的潮流,如果用自己手写或者编辑器插件来改动十分不方便还容易出错,我在网上
- 如果你是我的长期读者,那么你应该知道我在寻找一个完美备份程序,最后我写了一个基于bup的我自己的加密层。在写encbup的时候,我对仅仅恢复
- FFmpeg简介FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录
- 近些时间在开始学MySQL,安装挺顺利的,按照网上现成的教程就能安装成功。但是,在输入mysql -uroot -p再输入密码时,遇到了这个
- 不通过数据源名DSN也能访问Access数据库吗?代码如下:<% dim conn &nbs
- var tipsWidth = $(".Loading").css("width").replace
- 区块链区块链是在计算机网络的节点之间共享数据的分类账(分布式数据库)。作为数据库,区块链以电子格式储存信息。区块链的创新之处在于它保证了数据
- 例:公司员工采取三个轮班制度:凌晨0:00到早上8:00为第一班,早上8:00到下午4:00为第二班,下午4:00到晚上12:00为第三班。
- 在对于时间准确度的把握上,为了使操作的更加细化,很多人习惯把时间精确到秒。但在实际程序操作中,虽然秒数方便我们的查阅,但是计算机并不能直接的
- 学习使用存储过程(Stored Procedure),是ASP程序员的必须课之一。所有的大型数据库都支持存储过程,比如Oracle
- 本文实现12306抢火车票/京东抢手机示例,具体如下:#12306秒抢Python代码from splinter.browser impor