文章目录

  • 1、合并两个字典
  • 2、将两个列表转化为字典(zip方法)
  • 3、枚举法遍历字典的索引与值
  • 4、Try可以加else:如果没有引起异常,就会执行else语句
  • 5、根据元素出现频率取最常见的元素
  • 6、回文序列:检查给定的字符串是不是回文序列
  • 7、不使用if,else的计算子
  • 8、列表重组顺序
  • 9、展开列表
  • 10、交换两个变量的值的函数
  • 11、字典默认值

1、合并两个字典

  • 方法一:
def merge_two_dicts(a, b):c = a.copy() # make a copy of ac.update(b) # modify keys and values of a with the once from breturn c
a = {'x':1,'y':14}
b = {'y':314,'z':5, 'a':2, 'b':'0'}
v1 = merge_two_dicts(a,b)
print(v1)

  • 方法二:
def merge_dictionaries(a, b):return {**a, **b}
a = { 'x': 1, 'y': 2}
b = { 'y': 3, 'z': 4}
print(merge_dictionaries(a, b))


2、将两个列表转化为字典(zip方法)

def to_dictionary(keys, values):return dict(zip(keys, values))
keys = ["l", "o", "v", "e"]
values = [9, 4, 2, 0]
print(to_dictionary(keys, values))


3、枚举法遍历字典的索引与值

list = ["a", "b", "c", "d"]
for index, element in enumerate(list):print("Value", element, "Index ", index, )


4、Try可以加else:如果没有引起异常,就会执行else语句

try:print(2*3)
except TypeError:print("An exception was raised")
else:print("Thank God, no exceptions were raised.")


5、根据元素出现频率取最常见的元素

def most_frequent(li):return max(set(li), key = li.count)
li = [1,2,1,2,3,2,1,4,2]
v1 = most_frequent(li)
print(v1)


6、回文序列:检查给定的字符串是不是回文序列

回文:就是正读反读都是一样的序列;
它首先会把所有字母转化为小写,并移除非英文字母符号;
最后,它会对比字符串与反向字符串是否相等,相等则表示为回文序列。

def palindrome(string):from re import subs = sub('[\W_]', '', string.lower())return s == s[::-1]
v1 = palindrome('I love u evol I')
print(v1)


7、不使用if,else的计算子

不使用条件语句就实现加减乘除、求幂操作;
通过字典来操作

import operator
action = {"+": operator.add,
"-": operator.sub,
"/": operator.truediv,
"*": operator.mul,
"**": pow
}
v1 = action['-'](52392, 51872)
print(v1)


8、列表重组顺序

该算法会打乱列表元素的顺序,它主要会通过 Fisher-Yates 算法对新列表进行排序

from copy import deepcopy
from random import randint
def shuffle(lst):temp_lst = deepcopy(lst)m = len(temp_lst)while (m):m -= 1i = randint(0, m)temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m]return temp_lst
foo = [1,2,3,4,5]
foo2 = [3,4,6,2,8,43,100,43,2]
v1 = shuffle(foo)
v2 = shuffle(foo2)
print(v1, v2, sep='\n')

9、展开列表

将列表内的所有元素,包括子列表,都展开成一个列表

def spread(arg):ret = []for i in arg:if isinstance(i, list):ret.extend(i)else:ret.append(i)return ret
v1 = spread([1,2,3,[4,5,6],[7],8,9])
print(v1)


10、交换两个变量的值的函数

def swap(a, b):return b, a
a, b = -1, 14
v1 = swap(a, b)
print(v1)


11、字典默认值

通过 Key 取对应的 Value 值,可以通过以下方式设置默认值;
如果 get() 方法没有设置默认值,那么如果遇到不存在的 Key,则会返回 None

d = {'a': 1, 'b': 2}
v1 = d.get('c', 3)
print(v1)

必须掌握的Python技巧(三)相关推荐

  1. 程序员必知的20个Python技巧

    作者 | Duomly 译者 | 弯月,编辑 | 郭芮 出品 | CSDN(ID:CSDNnews) Python是一门流行且应用广泛的通用编程语言,其应用包括数据科学.机器学习.科学计算等领域,以及 ...

  2. python生成uuid_咸鱼高赞回答:有什么相见恨晚的Python技巧,附赠python最新教程...

    日常工作几乎离不python.一路走来,他积累了不少有用的技巧和tips,现在就将这些技巧分享给大家.这些技巧将根据其首字母按A-Z的顺序进行展示. Python相关学习资料获取方式:转发文章+关注私 ...

  3. python初学者_面向初学者的20种重要的Python技巧

    python初学者 Python is among the most widely used market programming languages in the world. This is be ...

  4. 你与数据科学家只差这26条python技巧

    戳蓝字"CSDN云计算"关注我们哦! 作者 | Peter Gleeson 来源 | Python数据科学 编译 | wLsq Python是目前世界上最流行的编程语言之一.因为: ...

  5. 资深程序员才知道的30个Python技巧

    Python中的省略号 Python省略号是三点序列,通常在自然语言中使用.但是您可能不知道的是,这也是Python中的有效对象: - Ellipsis 它主要用于NumPy中的矩阵切片操作.但是,您 ...

  6. 程序员必知的 20 个 Python 技巧!

    本文将向你展示20条非常实用的Python使用技巧. 作者 | Duomly 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python是一门流行且应用广 ...

  7. 30个必会python技巧

    直接交换2个数字的位置 Python 提供了一种直观的方式在一行代码中赋值和交换(变量值).如下所示: x, y = 10, 20 print(x, y) x, y = y, x print(x, y ...

  8. 6个超酷的 Python 技巧

    欢迎关注 "小白玩转Python",发现更多 "有趣" 近年来,数据科学经历了巨大的发展.作为数据科学领域中最常用的编程语言,Python 也越来越受欢迎. 在 ...

  9. 你需要知道的20个常用的Python技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法那些事 Python的可读性和简单性是其广受 ...

  10. Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel)

    Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel) 目录 Python中将三个列表数据zip起来并遍历(Iteratin ...

最新文章

  1. Gogland IDE Run/Debug Configurations 配置说明
  2. linux php后门,Linux_一个初级的linux后门制作方法,众所周知,Linux的文件权限如: - phpStudy...
  3. 【数据结构与算法】之深入解析“串联所有单词的子串”的求解思路与算法示例
  4. 耶鲁大学计算机科学录取,耶鲁大学计算机科学研究生Offer及录取要求
  5. jdbc 批量insert_JDBC相关知识解答
  6. 微信小程序|开发实战篇之request请求(单个、多个参数,json对象,header)
  7. 高德软件有限公司python试题 及 答案
  8. 03-05 APP自动化测试-常用定位方式
  9. qt同时两个动画执行_Qt 动画应用
  10. oracle运维dba面试题,一份DBA面试题目---亲身经历
  11. Laravel项目问题集锦
  12. 红帽全年总营收24亿美元,同比增长18%
  13. Django 配置App特定类的富文本编辑器
  14. python清华大学出版社答案_Python机器学习及实践
  15. cdrx7拼版工具在哪里_CorelDRAW X7标签怎么排版?
  16. 读书笔记:《金字塔原理》
  17. 网络出版服务许可证 你了解吗?
  18. 淘宝天猫返利查券机器人搭建
  19. s3cmd安装配置及基础命令
  20. 将网页上的MathJax复制到word中

热门文章

  1. ionic4页面常用判断
  2. php默认语法,PHP基本语法总结
  3. php 静态 成员属性,[已解决]php中静态成员方法和静态成员变量是不是不支持多态?...
  4. 指定module_详解流量复制解决方案--NGINX的ngx_http_mirror_module模块实现
  5. java实验报告13答案_(完整版)Java程序设计实验报告
  6. freemarker处理EL表达式
  7. 计算机博士后流动站有哪些,全国博士后流动站一览表.docx
  8. java 静态方法 构造方法,Java构造函数和静态方法
  9. android 手电筒电量低于15%,Android 手电筒(最强适配版)
  10. 实验1 数字图像处理的MATLAB基础,《数字图像处理(实验部分)》实验1_数字图像处理中MATLAB使用基础...