您现在的位置是:网站首页>技术文章>Python个人网站

python极简代码

Petrichor2020-07-24 14:04Python86人已围观

简介个人网站,用来做什么?我刚开始就把它当做一个我吐槽心情的地方,也就相当于一个网络记事本,也会放上一些照片。后来也用来记录自己所学习的知识。

1.  重复元素判定

      以下方法可以检查给定列表是不是存在重复元素,它会使用 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

2. 字符元素组成判定

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

from collections import Counter
def anagram(first, second):
    return Counter(first) == Counter(second)

anagram("abcd3", "3acdb") # True

3.  解包

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

array = [['a', 'b'], ['c', 'd'], ['e', 'f']]
transposed = zip(*array)
print(transposed)
# [('a', 'c', 'e'), ('b', 'd', 'f')]

4. 使用枚举

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

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

# ('Value', 'a', 'Index ', 0)
# ('Value', 'b', 'Index ', 1)
#('Value', 'c', 'Index ', 2)
# ('Value', 'd', 'Index ', 3)

5. 链式函数调用

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

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

6. 压缩

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

def compact(lst):
    return list(filter(bool, lst))

compact([0, 1, False, 2, '', 3, 'a', 's', 34])
# [ 1, 2, 3, 'a', 's', 34 ]

7. 合并两个字典

      在 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))
# {'y': 3, 'x': 1, 'z': 4}

 

很赞哦!(2)

文章评论