相关动态
30个Python常用极简代码,拿走就用
2025-01-01 14:27

重复元素判定

以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。

def all_unique(lst):

return len(lst)== len(set(lst))

x = [1,1,2,2,3,2,3,4,5,6]

y = [1,2,3,4,5]

all_unique(x) # False

all_unique(y) # True

字符元素组成判定

检查两个字符串的组成元素是不是一样的。

from collections import Counter

def anagram(first, second):

return Counter(first) == Counter(second)

anagram(“abcd3”, “3acdb”) # True

内存占用

import sys

variable = 30

print(sys.getsizeof(variable)) # 24

字节占用

下面的代码块可以检查字符串占用的字节数。

def byte_size(string):

return(len(string.encode(‘utf-8’)))

byte_size(‘’) # 4

byte_size(‘Hello World’) # 11

打印 N 次字符串

该代码块不需要循环语句就能打印 N 次字符串。

n = 2

s =“Programming”

print(s * n)

大写第一个字母

以下代码块会使用 title() 方法,从而大写字符串中每一个单词的首字母。

s = “programming is awesome”

print(s.title())

分块

给定具体的大小,定义一个函数以按照这个大小切割列表。

from math import ceil

def chunk(lst, size):

return list(

map(lambda x: lst[x * size:x * size + size],

list(range(0, ceil(len(lst) / size)))))

chunk([1,2,3,4,5],2)

压缩

这个方法可以将布尔型的值去掉,例如(False,None,0,“”,它使用 filter() 函数。

def compact(lst):

return list(filter(bool, lst))

compact([0, 1, False, 2, ‘’, 3, ‘a’, ‘s’, 34])

解包

如下代码段可以将打包好的成对列表解开成两组不同的元组。

array = [[‘a’, ‘b’], [‘c’, ‘d’], [‘e’, ‘f’]]

transposed = zip(*array)

print(transposed)

链式对比

我们可以在一行代码中使用不同的运算符对比多个不同的元素。

a = 3

print( 2 < a < 8) # True

print(1 == a < 2) # False

逗号连接

下面的代码可以将列表连接成单个字符串,且每一个元素间的分隔方式设置为了逗号。

hobbies = [“basketball”, “football”, “swimming”]

print("My hobbies are: " + ", ".join(hobbies))

元音统计

以下方法将统计字符串中的元音 (‘a’, ‘e’, ‘i’, ‘o’, ‘u’) 的个数,它是通过正则表达式做的。

import re

def count_vowels(str):

return len(len(re.findall(r’[aeiou]', str, re.IGNORECASE)))

count_vowels(‘foobar’) # 3

count_vowels(‘gym’) # 0

首字母小写

如下方法将令给定字符串的第一个字符统一为小写。

def decapitalize(string):

return str[:1].lower() + str[1:]

decapitalize(‘FooBar’) # ‘fooBar’

decapitalize(‘FooBar’) # ‘fooBar’

展开列表

该方法将通过递归的方式将列表的嵌套展开为单个列表。

def spread(arg):

ret = []

for i in arg:

if isinstance(i, list):

ret.extend(i)

else:

ret.append(i)

return ret

def deep_flatten(lst):

result = []

result.extend(

spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))

return result

deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]

列表的差

该方法将返回第一个列表的元素,其不在第二个列表内。如果同时要反馈第二个列表独有的元素,还需要加一句 set_b.difference(set_a)。

def difference(a, b):

set_a = set(a)

set_b = set(b)

comparison = set_a.difference(set_b)

return list(comparison)

difference([1,2,3], [1,2,4]) # [3]

通过函数取差

如下方法首先会应用一个给定的函数,然后再返回应用函数后结果有差别的列表元素。

def difference_by(a, b, fn):

b = set(map(fn, b))

return [item for item in a if fn(item) not in b]

from math import floor

difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]

difference_by([{ ‘x’: 2 }, { ‘x’: 1 }], [{ ‘x’: 1 }], lambda v : v[‘x’])

链式函数调用

你可以在一行代码内调用多个函数。

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)) # 9

检查重复项

如下代码将检查两个列表是不是有重复项。

def has_duplicates(lst):

return len(lst) != len(set(lst))

x = [1,2,3,4,5,5]

y = [1,2,3,4,5]

has_duplicates(x) # True

has_duplicates(y) # False

合并两个字典

下面的方法将用于合并两个字典。

def merge_two_dicts(a, b):

c = a.copy() # make a copy of a

c.update(b) # modify keys and values of a with the once from b

return c

a={‘x’:1,‘y’:2}

b={‘y’:3,‘z’:4}

print(merge_two_dicts(a,b))

#{‘y’:3,‘x’:1,‘z’:4}

在 Python 3.5 或更高版本中,我们也可以用以下方式合并字典

def merge_dictionaries(a, b)

return {**a, **b}

a = { ‘x’: 1, ‘y’: 2}

b = { ‘y’: 3, ‘z’: 4}

print(merge_dictionaries(a, b))

将两个列表转化为字典

如下方法将会把两个列表转化为单个字典。

def to_dictionary(keys, values):

return dict(zip(keys, values))

keys = [“a”, “b”, “c”]

values = [2, 3, 4]

print(to_dictionary(keys, values))

#{‘a’: 2, ‘c’: 4, ‘b’: 3}

使用枚举

我们常用 For 循环来遍历某个列表,同样我们也能枚举列表的索引与值。

list = [“a”, “b”, “c”, “d”]

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取(备注Python

[外链图片转存中…(img-DzjkRKwI-1712458897847)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

    以上就是本篇文章【30个Python常用极简代码,拿走就用】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/news/12796.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
苹果手机开不开机如何解决,苹果手机开不开机是咋回事苹果手机如何开机「苹果手机开不开机如何解决,苹果手机开不开机是咋回事」
苹果手机开不开机怎么办苹果手机开不了机这种情况,还有可能是手机处于死机状态,也可以先尝试一下同时按住开机键开机键+HOME键
这么多年过去了,米家为啥还不能实现离线操作?小米手机闹钟在哪里设置「这么多年过去了,米家为啥还不能实现离线操作?」
这么多年过去了,米家为啥还不能实现离线操作?“ 小爱同学,打开空调 ”“ 小爱同学!,打开空调 ”“ 小爱同学???? ”这么
手机上的这些隐形参数 厂商可能不会告诉你隐形手机「手机上的这些隐形参数 厂商可能不会告诉你」
在文章正式开始之前,先问大家伙儿一个问题:在挑手机的时候,不知道各位主要会看哪些参数?像是芯片、屏幕、影像、内存、存储、
山西一男子高速上边开车边玩手机游戏被处罚开车玩手机「山西一男子高速上边开车边玩手机游戏被处罚」
  这名司机心真大!山西一男子高速上边开车边玩手机游戏被处罚   新华社太原11月26日电(记者王飞航)究竟是命重要,还是玩游
米忽悠派对最新版本 v1.0手机版派对手机「米忽悠派对最新版本 v1.0手机版」
米忽悠派对是一款以米哈游的游戏ip打造的全新派对游戏,在游戏中能够看到许多米哈游的不同游戏集合在一个游戏中,游戏玩法十分简
油电同智 全球同行,奇瑞汽车智能化战略发布会盛大开幕
3月18日,智能化战略发布会在安徽芜湖顺利召开。活动聚焦“油电同智 全球同行”,正式发布奇瑞集团智能化战略规划,并集中展示猎
投影仪如何通过手机投屏-实用教程手机怎么投屏到投影仪「投影仪如何通过手机投屏-实用教程」
第二步:开启手机投屏功能打开手机上的设置或者控制中心(不同手机可能位置不同),找到“投屏”或者“无线投屏”这样的选项并点
才发现手机蓝牙竟然有这么神奇的功能,你们都知道手机蓝牙的哪些作用呢?手机蓝牙有什么作用「才发现手机蓝牙竟然有这么神奇的功能,你们都知道手机蓝牙的哪些作用呢?」
提到手机蓝牙,大家能想到的它的功能是什么呢?不少人可能对手机蓝牙的作用还停留在以前,两个手机配对之后可以用来传输文件,这
全球最火的十大射击游戏推荐 好玩的射击游戏前十2023手机最真实的射击游戏「全球最火的十大射击游戏推荐 好玩的射击游戏前十2023」
现在手机上的射击游戏种类是很丰富的,不同题材的射击游戏给大家提供了不同的体验,射击游戏里的众多枪械可谓开拓了大家的眼界,
苹果发布iPhone8和iPhoneX 后者系第一代价格十倍苹果x手机多少钱「苹果发布iPhone8和iPhoneX 后者系第一代价格十倍」
  在苹果手机面世10周年之际,苹果公司12日发布iPhone 8和iPhone X等最新产品,以此向已故联合创始人史蒂夫?乔布斯致敬。