30 段極簡 Python 代碼,拿來即用!
學 Python 怎樣才最快,當然是實戰(zhàn)各種小項目,只有自己去想與寫,才記得住規(guī)則。今天給大家分享的是 30 個極簡任務,初學者可以嘗試著自己實現(xiàn);本文同樣也是 30 段代碼,Python 開發(fā)者也可以看看是不是有沒想到的用法。
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)?#?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('??')?#?4
byte_size('Hello?World')?#?11???n?=?2;?
s?="Programming";?
print(s?*?n);
#?ProgrammingProgramming??s?=?"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?#?True
print(1?==?a?2)?#?Falsehobbies?=?["basketball",?"football",?"swimming"]
print("My?hobbies?are:?"?+?",?".join(hobbies))
#?My?hobbies?are:?basketball,?football,?swimmingimport?re
def?count_vowels(str):
????return?len(len(re.findall(r'[aeiou]',?str,?re.IGNORECASE)))
count_vowels('foobar')?#?3
count_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?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)?#?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?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')?#?Trueimport?operator
action?=?{
????"+":?operator.add,
????"-":?operator.sub,
????"/":?operator.truediv,
????"*":?operator.mul,
????"**":?pow
}
print(action['-'](50,?25))?#?25from?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
評論
圖片
表情
