提高编程思维的python代码
创始人
2024-05-29 15:04:50
0次

1.通过函数取差。举例:返回有差别的列表元素

from math import floordef difference_by(a,b,fn):b = set(map(fn, b))return [i for i in a if fn(i) not in b]
print(difference_by([2.1, 1.2], [2.3, 3.4], floor))

2.一行代码调用多个函数

def add(a, b):return a + b
def subtract(a ,b):return  a - b
a, b = 4, 5
print((subtract if a>b else add)(a, b))

3.检查列表是否有重复项:有重复项就返回True,无重复项就返回

def has_duplicate(lst):return len(lst) != len(set(lst))
x = ['公共开发', '实验室', 'python']
y = ['公共开发', '实验室', 'python', 'python']

4.合并两个字典

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

5.将两个列表转化为字典

def to_dictionary(keys, values):return dict(zip(keys, values))
keys = ['a', 'b', 'c']
values = [2 , 3, 4]
print(to_dictionary(keys, values))

6.使用枚举

lst = ['a', 'b', 'c', 'd']
for index,value in enumerate(lst):print('value', value, 'index', index)

7.执行某代码所花费的时间

import time
start_time = time.time()
a = 2023
b = 2022
c = a - b
print(c)
end_time = time.time()
total_time = end_time - start_time
print('Time:', total_time)

8.Try else

try:print(int('你'))
except:print('有异常发生,请检查:int没法直接强制转换字符"你"')
else:print('try成功才会执行此处')

9.列表出现的频率最多元素

def most_frequent(lst2):return max(lst2, key=lst2.count)
lst1 = ['Python', 'Python', '公共开发', '公共开发', '公共开发', '12345678']
print(most_frequent(lst1)) # 公共开发

10.筛选出最长的字符串

def most_max_length(lst2):return max(lst2, key=len)
lst1 = ['Python', 'Python', '公共开发', '公共开发', '公共开发', '12345678']
print(most_max_length(lst1)) # 公共开发

11.快速修改列表字符元素为整形

def change_int(lst):lst2 = list(map(str, lst))return lst2
lst = [1,2,3,4,5,6]
print(change_int(lst)) # ['1', '2', '3', '4', '5', '6']

12.回文序列检测:所谓回文序列指的是字符串与反向字符串是否相等。

from re import sub
def palindrome(string):s = sub('[\W_]', '', string.lower()) # 中括号内\W_表示用于匹配\W或者_print(s)return s == s[::-1]
print(palindrome('ta  co cat'))

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

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

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...