本文共 6442 字,大约阅读时间需要 21 分钟。
来源:机器之心
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) # Falseall_unique(y) # Truefrom collections import Counter
def anagram(first, second): return Counter(first) == Counter(second)anagram("abcd3", "3acdb") # Trueimport sys
variable = 30 print(sys.getsizeof(variable)) # 24def byte_size(string):
return(len(string.encode('utf-8')))byte_size('?') # 4byte_size('Hello World') # 11n = 2;
s ="Programming"; print(s * n);# ProgrammingProgrammings = "programming is awesome"
print(s.title())# Programming Is Awesomefrom 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]def compact(lst):
return list(filter(bool, lst))compact([0, 1, False, 2, '', 3, 'a', 's', 34])# [ 1, 2, 3, 'a', 's', 34 ]array = [['a', 'b'], ['c', 'd'], ['e', 'f']]
transposed = zip(*array)print(transposed)# [('a', 'c', 'e'), ('b', 'd', 'f')]a = 3
print( 2 < a < 8) # Trueprint(1 == a < 2) # Falsehobbies = ["basketball", "football", "swimming"]
print("My hobbies are: " + ", ".join(hobbies))# My hobbies are: basketball, football, swimming12. 元音统计
import re
def count_vowels(str): return len(len(re.findall(r'[aeiou]', str, re.IGNORECASE)))count_vowels('foobar') # 3count_vowels('gym') # 0def 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 retdef deep_flatten(lst): result = [] result.extend( spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst)))) return resultdeep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]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 floordifference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]difference_by([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], lambda v : v['x'])# [ { x: 2 } ]def add(a, b):
return a + bdef subtract(a, b): return a - ba, b = 4, 5print((subtract if a > b else add)(a, b)) # 9def 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) # Truehas_duplicates(y) # Falsedef merge_two_dicts(a, b):
c = a.copy() # make a copy of a c.update(b) # modify keys and values of a with the ones from b return ca = { 'x': 1, 'y': 2}b = { 'y': 3, 'z': 4}print(merge_two_dicts(a, b))# {'y': 3, 'x': 1, 'z': 4}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}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}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)import time
start_time = time.time()a = 1b = 2c = a + bprint(c) #3end_time = time.time()total_time = end_time - start_timeprint("Time: ", total_time)# ('Time: ', 1.1205673217773438e-05)try:
2*3except TypeError: print("An exception was raised")else: print("Thank God, no exceptions were raised.")#Thank God, no exceptions were raised.def most_frequent(list):
return max(set(list), key = list.count)list = [1,2,1,2,3,2,1,4,2]most_frequent(list)def palindrome(string):
from re import sub s = sub('[\W_]', '', string.lower()) return s == s[::-1]palindrome('taco cat') # Trueimport operator
action = { "+": operator.add, "-": operator.sub, "/": operator.truediv, "*": operator.mul, "**": pow}print(action['-'](50, 25)) # 25from copy import deepcopy
from random import randintdef shuffle(lst): temp_lst = deepcopy(lst) m = len(temp_lst) while (m): m -= 1 i = randint(0, m) temp_lst[m], temp_lst[i] = temp_lst[i], temp_lst[m] return temp_lstfoo = [1,2,3]shuffle(foo) # [2,3,1] , foo = [1,2,3]def spread(arg):
ret = [] for i in arg: if isinstance(i, list): ret.extend(i) else: ret.append(i) return retspread([1,2,3,[4,5,6],[7],8,9]) # [1,2,3,4,5,6,7,8,9]def swap(a, b):
return b, aa, b = -1, 14swap(a, b) # (14, -1)spread([1,2,3,[4,5,6],[7],8,9]) # [1,2,3,4,5,6,7,8,9]d = {'a': 1, 'b': 2}
print(d.get('c', 3)) # 3参考链接:
https://towardsdatascience.com/30-helpful-python-snippets-that-you-can-learn-in-30-seconds-or-less-69bb49204172
编辑:于腾凯
校对:林亦霖
转载地址:http://oxuqi.baihongyu.com/