Problem: Use regular expressions to match text patterns to identify the longest possible match to find the shortest possible matchWorkaround: Add after the * operator in the matching pattern. ModifierImportRe#Sample TextText ='computer says "No." Phone says "Yes."'#(a) Regex that finds quoted Strings-longest matchStr_pat = Re.compile (r'\"(.*)\"')Print(Str_pat.findall (text))#(b) Regex that finds quoted Strings-shortest matchStr_pat = Re.compile (r'\"(.*?) \"')Print(Str_pat.findall (text))>>> ==
Smooth python and cookbook learning notes (2), pythoncookbook1. Value assignment of the packet splitting and decompression sequence of tuples
Any sequence (or iteratable object) can be decompressed and assigned to multiple variables through a simple assignment statement. The only premise is that the number of variables must be the same as the number of sequential elements.
1. Parallel assignment:
>>> X = (1
1 Sequence decompression: through * to pass the match*a, B = somelist, First, *mid, last = Somelist, a, *b = Somelist2 using bidirectional queues: From collections import dequeQ = deque (maxlen=5) can be fixed lengthQ = deque () can also be any lengthcan be inserted and removed from both ends, append, Appendleft, pop, popleft3 finding the largest or smallest n elements: using heapq (heap queue)HEAPQ. nlargest (N, Alist) heapq. nsmallest (n, alist) is suitable when n is relatively smallYou can al
Smooth python and cookbook learning notes (9), pythoncookbook1. Reduce the number of parameters of callable objects and use functools. partial to freeze Parameters
Use functools. partial () to fix one or more values to reduce the call parameters.
>>> Def spam (a, B, c, d ):... print (a, B, c, d)...> from functools import partial >>> s1 = partial (spam, 1) # set the value of a to 1 >>> s1 (2, 3, 4) 1 2 3 4>
handle non-file-name strings.#example.py##Example of using Shell-wildcard style matching in list comprehensions fromFnmatchImportFnmatchcase as Matchaddresses= [ '5412 N CLARK ST', '1060 W ADDISON ST', '1039 W GRANVILLE AVE', '2122 N CLARK ST', '4802 N BROADWAY',]a= [addr forAddrinchAddressesifMatch (addr,'* ST')]Print(a) b= [addr forAddrinchAddressesifMatch (addr,'54[0-9][0-9] *clark*')]Print(b)>>> ================================ RESTART ================================>>> ['
into my eyes,the eyes, the eyes, the eyes, notaroundthe eyes, Don.'T look around the eyes,Look to my eyes, you're under.Look to my eyes, look into Myeyes, the eyes, the eyes, the eyes, notaround the eyes, Don'T look around theEyes, look to my eyes, you're under.Look to my eyes, look into my eyes, the eyes, the eyes, the eyes, notaround the eyes, Don'T Look aroundThe eyes, look to my eyes, you'Reunder.>>>For the size of the terminal, it can be obtained by os.get_terminal_size ():Import os>>> os.
1. Tuple unpacking and decompression sequence assignment Any sequence (or an iterative object) can be extracted and assigned to multiple variables by a simple assignment statement. The only prerequisite is that the number of variables must be the same as the number of elements in the sequence. 1. Parallel Assignment:>>> x = (1, 2>>> A, b = x #>>> a1>>> b
22. Use the * operator to disassemble an iterative object as a function parameter:>>> Divmod (8) # 20 for the remainder of 8, 2 * 8 + 4
input iteration type, so the length of the Cartesian product list is equal to the product of the length of the input variable.1. Calculating Cartesian product using list derivation>>> colors = ['Black',' White'] >>> sizes = ['S','M','L'] >>> tshirts = [(color, size) forColorinchColors forSizeinchSizes]>>> Tshirts[('Black','S'), ('Black','M'), ('Black','L'), (' White','S'), (' White','M'), (' White','L')] >>> forColorinchcolors: # Use for loop is the same effect ... forSizeinchSizes: ...Print((c
a Python object to the corresponding C parameter.This section of code uses Python's caching protocol to match any input parameter that looks like a double-precision array(such as numpy arrays, arrays created by array modules, etc.), refer to section 15.3 for more information.Inside the TYPEMAP code, variable substitution such as $ and $ will get the C parameter value of Typemap mode(for example, map to double*a ). $input point to a parameter as input
;Fromllvm.eeImportExecutionengine>>>Engine=Executionengine.New(MoD)>>>Ptr=Engine.Get_pointer_to_function(F)>>>Ptr4325863440>>>Foo=cTYPES.Cfunctype(cTYPES.C_double,cTYPES.c_doublectypes. C_double) (ptr) >>> # Call the resulting Function>>> foo (23) 13.0>>> foo (4,5) Span class= "Go" >41.0>>> foo (1 ,2) 5.0>>> It's not that making any mistakes at this level will cause the Python interpreter to hang up.Remember that you are dealing directly with machi
Python cookbook (data structure and algorithm) method for saving the last N elements, pythoncookbook
This example describes how to save the last N elements in Python. We will share this with you for your reference. The details are as follows:
Problem:We hope to make a limited history statistics for the last few records during iteration or other forms of processin
Smooth python and cookbook Study Notes (7), pythoncookbook1. Read and Write compressed data files
Use the gzip and bz2 modules to read and write compressed files. However, pay attention to the file mode. The default format is binary.
1 # Read the compressed file 2 import gzip 3 with gzip.open('somefile.gz ', 'rt') as f: 4 text = f. read () 5 6 import bz2 7 with bz2.open('somefile.bz2 ', 'rt') as f: 8 text
errorTraceback (most recent): File"", Line 1,inchIndexerror:index out of range>>> Heappush (a,3)>>>a[3]>>> Heapreplace (a,2)#Delete (Heappop (a)->3) first, then join (Heappush (a,2))3>>>a[2]>>> Heappush (a,5) >>> Heappush (a,9)>>> Heappush (a,4)>>>a[2, 4, 9, 5]>>> Heapreplace (a,6)#first find the minimum value from heap A and return, then add 62>>>a[4, 5, 9, 6]>>> Heapreplace (a,1)#1 is added later, before 1, the minimum value in a is 4 .4>>>a[1, 5, 9, 6]>>> a=[2,4,6] >>> b=[1,3,5]>>>
Problem: You want to access the element by name to reduce the dependency on the location in the structureSolution: Use the named Tuple collections.namedtuple (). It is a factory method that returns a subclass of the standard tuple type in Python, gives it a type name and the corresponding field name , returns a class that can be instantiated, gives you a defined field name to pass in the value, and so on.The primary purpose of a named tuple is to deco
If the object is an iterative (any sequence), it can be decomposed, including tuples, lists, strings, files, iterators, and generators, which can be decomposed into separate variables by a simple assignment operation.The only requirement: The total number of variables matches the sequence, otherwise an error will occur;Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5, 20:32:19) [MSC v.1500 32bit (Intel)] on Win32type"Copyright","credits" or "license ()" fo
1 ImportCSV2 3filename ='Ch02-data.csv'4data = []5 6 Try:7with open (filename) as f://binding a data file to an object F with the WITH statement8Reader =Csv.reader (f)9Header = Next (reader)//python 3. X is for next ()Tendata = [row forRowinchReader] One exceptCSV. Error as E: A Print('Error reading CSV file at line%s:%s'%(reader.line_num,e)) -Sys.exit (-1) - the ifHeader: - Print(header) - Print("=======================") - forRowinchDa
',' Tuesday ',' Wednesday ', ' Thursday ' ,' Friday ',' Saturday ',' Sunday ']Start_date=datetime.today ()#weekday的作用是得出当日在这周中的索引. For example, the Monday to Sunday indexes wereDay_num=start_date.weekday ()#得到目标日期的索引Day_num_target=weekdays.index (Dayname)#求得日期的差距, if the gap is 0, then days_ago=7, that's exactly one weeks apart.days_ago= (7+day_num-day_num_target)%70:days_ago=7Target_date=start_date-timedelta (days=days_ago)Target_date__name__==' __main__ ':#找到上一个周一的时间Get_previous_day (' Monday
, you might just want to unzip a part and discard other values. For this scenario, Python does not provide a special syntax. But you can use any variable name to take a place, and then throw away the variables.code example:It is important to ensure that the names of the selected placeholder variables are not used elsewhere.2. Unzip an iterative object to assign values to multiple variablesProblemIf the number of elements of an iterative object exceeds
the value of key is the set typec['a'].add (1) c['a'].add (2) c['a'].add (2) c['b'].add (4)Print('the value of key is a dictionary of the list type:', D)Print('the value of key is a dictionary of the set type:'C>>> ================================ RESTART ================================>>>the value of key is a dictionary of list type: Defaultdict (class 'List', {'b': [4],'a': [1, 2, 2]}) The value of key is a dictionary of the set type: Defaultdict (class 'Set', {'b': {4},'a': {1, 2}})>>>One t
Problem: Want to create a dictionary, which is itself a subset of another dictionarySolution: Use dictionary derivation (dictionary comprehension) to easily solve#example of extracting a subset from a dictionary fromPprintImportpprintprices= { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.20, 'FB': 10.75}#Make A dictionary of pricesP1 = {Key:value forKey, ValueinchPrices.items ()ifValue > 200 }Print("All prices") Pprint (p1)#Make A dictionary of tech stocksTech_names = {'AAPL
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
[email protected]
and provide relevant evidence. A staff member will contact you within 5 working days.