Common methods: Lists, tuples, dictionaries and strings can be used together.
Python built-in functions
Listing of built-in functions
function | describe | Remarks |
---|---|---|
len(item) | Calculate the number of elements in the container | |
del(item) | Delete variables | del has two methods |
max(item) | Returns the maximum value of the element in the container | If it's a dictionary, it's only for key comparisons |
min(item) | Returns the minimum value of the element in the container | If it's a dictionary, it's only for key comparisons |
cmp(item1,item2) | Comparing two values, -1 less than/0 equals/1 greater than | Python 3 cancels the cmp function |
Note: Strings have the following rules: "0"< "A"< "a"
Use of built-in functions
len() calculates the number of elements in the container;
Del uses keywords and functions, and the results are the same in both ways; del variable; del (variable);
list = [1, 2,4] del list[1] list [1, 4] del(list[0]) list [4] del(list) # After deleting the list, an error will be reported and undefined
max and min functions
test_str = "qeqfeijovodmbahidkolmc" max(test_str) 'v' min(test_str) 'a' # If it's a dictionary, it's only for key comparisons test_list = [3, 9, 0, 1] max(test_list) 9 min(test_list) tset_dict = {"a": "3", "b": "1", "c": "2"} max(tset_dict) 'c' min(tset_dict) 'a'
In Python 3, the cmp comparison operator is cancelled, but we can directly compare by comparison operator <>.
Numbers can be compared, strings can be compared, tuples, lists can be compared, but dictionaries can not compare sizes.
Section
- Slices use index values to limit ranges and cut small strings from a large string.
- Strings, lists, tuples can be sliced because they are ordered, but dictionaries cannot slice because dictionaries are disordered.
Examples of slices are as follows:
t_list = [3,1,2,5,7] t_list[0:3] [3, 1, 2] t_tuple = (1,2,3,4,5) t_tuple[0:3] (1, 2, 3)
operator
Operator listing
operator | Python expression | Result | describe | Supported data types |
---|---|---|---|---|
+ | [1,2]+[3,4] | [1,2,3,4] | merge | Strings, lists, tuples |
* | ["hi"]*4 | ["hi","hi","hi","hi"] | repeat | Strings, lists, tuples |
in | 3 in (1,2,3) | True | Does an element exist? | Strings, lists, tuples, Dictionaries |
not in | 4 not in(1,2,3) | True | Is the element non-existent? | Strings, lists, tuples, Dictionaries |
> >= == < <= | (1,2,3)<(2,2,3) | TRue | Element comparison | Strings, lists, tuples |
- When in operates on a dictionary, it judges the key of the dictionary.
- In and not in are called member operators
Operator usage
* It can be used for list tuples, but not dictionaries, because dictionary key s must be unique;
[1,2]*5 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2] (1,2)*5 (1, 2, 1, 2, 1, 2, 1, 2, 1, 2)
+ Operators represent merges and can be used to merge lists, tuples and strings; different types cannot be merged, such as tuples and lists;
"hello" + "world" 'helloworld' (1,2) + (3,4) (1, 2, 3, 4) [1,2] + [3,4] [1, 2, 3, 4]
Note that when we use + merge lists, we generate a new list
The difference between append and extend methods is that extend combines a specified list parameter into a list, i. e. scattered addition, while append combines a specified list as a whole element into a list.
Using append and extend is to extend elements on the original list.
Use of in and not in
- Inclusion and non-inclusion;
- It can be used for strings, lists, tuples, dictionaries; however, it should be noted that in the dictionary, in only checks for key s in the dictionary.
The use of in and not in is as follows:
"a" in "asdfg" True "a" not in "asdfg" False 2 in (1,2,3,4) True 2 not in [1,2,3,4] False "name" in {"name": "zhangsan"} True "zhangsan" in {"name": "zhangsan"} False
Complete for loop
Complete for loop grammar
for xx in Collection: xxx else: xxx
This is the grammatical structure of the complete for loop.
- As long as the for loop is not interrupted by break, the code in else will execute after the for loop ends.
- If the for loop is interrupted, subsequent code outside the for loop is executed directly
Complete for loop demonstration
students = [{"name": "Hanxin"}, {"name": "Li Bai"}, {"name": "Liu Bei"}] for stu in students: print(stu) else: print("I am for At the end of the loop traversal else Sentence") print("for The cycle is over") # {name':'hanxin'} # {name':'Li Bai'} # {name':'Liu Bei'} # I'm the else statement after the for loop traversal # The for loop is over
break interrupts for loop demonstration
students = [{"name": "Hanxin"}, {"name": "Li Bai"}, {"name": "Liu Bei"}] for stu in students: print(stu) if stu["name"] == "Li Bai": print("Li Bai, your mother called you home for dinner.") break else: print("I am for At the end of the loop traversal else Sentence") print("for The cycle is over") # {name':'hanxin'} # {name':'Li Bai'} # Li Bai, your mother called you home for dinner. # The for loop is over
Application scenarios for else
- When iterating over nested data types, for example, a list contains multiple dictionaries
Requirement: Need to determine whether a specified value exists in a dictionary
If it exists, prompt and exit the loop
If it does not exist, after the whole cycle is over, we hope to get a unified reminder.
Find out the situation
students = [{"name": "Hanxin"}, {"name": "Li Bai"}, {"name": "Liu Bei"}] find_stu = "Li Bai" for stu in students: print("Looking for...", stu["name"]) if stu["name"] == find_stu: print("%s,Your mother told you to go home for dinner." % find_stu) break else: print("Excuse me, your home%s Not in this class" % find_stu) print("for The cycle is over") # Looking for Han Xin # Looking for... Li Bai # Li Bai, your mother called you home for dinner. # The for loop is over
Not found
students = [{"name": "Hanxin"}, {"name": "Li Bai"}, {"name": "Liu Bei"}] find_stu = "Zhang Fei" for stu in students: print("Looking for...", stu["name"]) if stu["name"] == find_stu: print("%s,Your mother told you to go home for dinner." % find_stu) break else: print("Excuse me, your home%s Not in this class" % find_stu) print("for The cycle is over") # Looking for Han Xin # Looking for... Li Bai # Looking for Liu Bei # Sorry, Zhang Fei is not in this class. # The for loop is over