服务器之家

服务器之家 > 正文

15个短代码示例理解python丰富的编程思维

时间:2022-02-22 00:27     来源/作者:曾亲桂林

1.检查重复元素

下面的方法可以检查给定列表中是否有重复的元素。它使用了 set() 属性,该属性将会从列表中删除重复的元素。

?
1
2
3
4
5
6
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

2.变位词

检测两个字符串是否互为变位词(即互相颠倒字符顺序)

?
1
2
3
4
5
6
from collections import Counter  
def anagram(first, second):       
    return Counter(first) == Counter(second)   
 
anagram("abcd3", "3acdb")
# True

3.检查内存使用情况

以下代码段可用来检查对象的内存使用情况。

?
1
2
3
4
import sys   
variable = 30    
print(sys.getsizeof(variable))
# 24

4.字节大小计算

以下方法将以字节为单位返回字符串长度。

?
1
2
3
4
5
def byte_size(string):      
    return(len(string.encode( utf-8 )))  
 
byte_size( ???? ) # 4   
byte_size( Hello World ) # 11

5.重复打印字符串 N 次

以下代码不需要使用循环即可打印某个字符串 n 次

?
1
2
3
4
n = 2
s ="Programming"
print(s * n);
# ProgrammingProgramming

6.首字母大写

以下代码段使用 title() 方法将字符串内的每个词进行首字母大写。

?
1
2
3
s = "programming is awesome"   
print(s.title())
# Programming Is Awesome

7.分块

以下方法使用 range() 将列表分块为指定大小的较小列表。

?
1
2
3
4
5
6
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)
# [[1,2],[3,4],5]

8.压缩

以下方法使用 fliter() 删除列表中的错误值(如:False, None, 0 和“”)

?
1
2
3
4
5
def compact(lst):       
    return list(filter(bool, lst))   
 
compact([0, 1, False, 2, , 3,  a ,  s , 34])
# [ 1, 2, 3,  a ,  s , 34 ]

9.间隔数

以下代码段可以用来转换一个二维数组。

?
1
2
3
4
array = [[ a ,  b ], [ c ,  d ], [ e ,  f ]]   
transposed = zip(*array)   
print(transposed)
# [( a ,  c ,  e ), ( b ,  d ,  f )]

10.链式比较

以下代码可以在一行中用各种操作符进行多次比较。

?
1
2
3
4
5
6
a = 3   
print( 2 < a < 8)
# True   
 
print(1 == a < 2)
# False

11.逗号分隔

以下代码段可将字符串列表转换为单个字符串,列表中的每个元素用逗号分隔。

?
1
2
3
hobbies = ["basketball", "football", "swimming"]
print("My hobbies are: " + ", ".join(hobbies))
# My hobbies are: basketball, football, swimming

12.计算元音字母数

以下方法可计算字符串中元音字母(‘a', ‘e', ‘i', ‘o', ‘u')的数目。

?
1
2
3
4
5
6
import re   
def count_vowels(str):       
    return len(len(re.findall(r [aeiou] , str, re.IGNORECASE)))   
 
count_vowels( foobar ) # 3   
count_vowels( gym ) # 0

13.首字母恢复小写

以下方法可用于将给定字符串的第一个字母转换为小写。

?
1
2
3
4
5
def decapitalize(string):       
    return str[:1].lower() + str[1:]   
 
decapitalize( FooBar ) #  fooBar    
decapitalize( FooBar ) #  fooBar

14.平面化

以下方法使用递归来展开潜在的深度列表。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def spread(arg):   
    ret = []   
    for i in arg:       
        if isinstance(i, list):           
            ret.extend(i)       
        else:           
            ret.append(i)   
    return retdef
 
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]

15.差异

该方法只保留第一个迭代器中的值,从而发现两个迭代器之间的差异。

?
1
2
3
4
5
6
7
8
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]

以上就是15个短代码示例理解python丰富的编程思维的详细内容,更多关于python短代码编程思维的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/bigzql/article/details/115543088

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部