关注→逆锋起笔←回复 赚钱
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 = 2;
s =
"Programming";
print(s * n);
# ProgrammingProgramming
s =
"programming is awesome"
print(s.title())
# Programming Is Awesome
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]
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)
# True
print(1 == a < 2)
# False
hobbies = [
"basketball",
"football",
"swimming"]
print(
"My hobbies are: " +
", ".join(hobbies))
# My hobbies are: basketball, football, swimming
import re
def count_vowels(str):
return 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]
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'])
# [ { x: 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))
# 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 ones 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}
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 = 1
b = 2
c = a + b
print(c)
#3
end_time = time.time()
total_time = end_time - start_time
print("Time: ", total_time)
# ('Time: ', 1.1205673217773438e-05)
try:
2*
3
except 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')
# True
import
operator
action = {
"+":
operator.add,
"-":
operator.sub,
"/":
operator.truediv,
"*":
operator.mul,
"**":
pow
}
print(action[
'-'](
50,
25)) #
25
from copy
import deepcopy
from random
import randint
def 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_lst
foo = [
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 ret
spread([
1,
2,
3,[
4,
5,
6],[
7],
8,
9])
# [1,2,3,4,5,6,7,8,9]
def swap(a, b):
return b, a
a, b =
-1,
14
swap(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

「逆锋起笔」公号读者福利
明天见(。・ω・。)ノ♡
本文分享自微信公众号 - 逆锋起笔(readdot)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/3392921/blog/4365352