当前位置:网站首页>Basic knowledge of lists
Basic knowledge of lists
2022-07-06 20:17:00 【Programming is too difficult】
Catalog
Definition list
namelist = [ ] Define an empty list .
You can add content to the list , And search and output according to the subscript .
Different types of data can be defined in the same list , For example, you can add both integer and string types
You can use type() Function prints out the type of the element .
Traverse the list
The traversal of the list can be done with for loop , It can also be used. while.
In the use of while when , It can be used len() The length of the test list , Then set a variable count to end the loop by increasing itself .
Pay attention to while Add subscript when .
General operation of list
increase
The first way :append(): Add an element at the end .
The second way :extend(): You can add the elements in the list to the new list in turn .
In the use of append when , If you want to fill in a list ,append You can only add the whole list to the end as an element , While using extend You can split the list , Add the elements in the list in turn .
Use append Methods :
Use extend Methods :
The third method :insert(): Insert the element into the specified position .
insert(1,3) The first variable represents the subscript , The second variable represents the value to be inserted .
Delete
The first way :del: Used to delete the value of the specified subscript
The second way :pop: Pop up the value at the end
The third way :remove: Delete the data of the specified content .
But when there are multiple identical values in the list ,remove You can only traverse to the first value that matches the deleted content and delete it , The duplicate in the back will not be deleted .
modify
Directly modify the value you want to modify .
check
in perhaps not in Used to check whether the content to be found is in the list .
use if To determine whether the content to be searched is in the list .
It can be used at the same time index() Find out whether there is a value you need to find in the specified range . When it is found, it will return the subscript of the found value , If it cannot be found, an error will be reported .
Note that the range of variables is left open and right closed , Include the value on the left , Excluding the value on the right .
Count the number of values to be found in the list
Use functions count()
Sort and invert
The inversion of the list is used reverse, Indicates that the elements in the list are flashed out .
For sorting lists sort(), Sort the list in ascending order by default , If you need to sort flashbacks , Need to be in sort() Put reverse=True.
List nesting
You can continue to include the list in the list , And the number of data in each list is not unique .
Example : Assign offices to teachers
There are three offices , Eight teachers , Eight teachers were randomly assigned to three offices , Finally, print the number of people in each office and the name of the teacher .
Ideas : You need to generate random numbers 、 Add... To the list .
Name the three offices 0、1、2, Then let the random number from 0、1、2 Randomly generated in . Traverse the teacher list , And combine the read teacher name with the randomly generated number , Insert , It means inserting into an office , Repeat until all teachers are assigned . Then output the distribution of each office through circulation .
import random # Introduce random numbers
offices = [[],[],[]] # Three offices
teachers = ["A","B","C","D","E","F","G","H"] # Eight teachers
for name in teachers:
index = random.randint(0,2) #index From 0 To 2 Randomly generated number , Subscript representing the office
offices[index].append(name) # Assign the traversed teachers to the office
i = 1 # Used to mark which office
for office in offices:
print(" The office %d Yes %d Famous teachers "%(i,len(office)))
for teacher in office:
print(teacher,end="\t")
print("\n")
print("-"*20)
i += 1
``
practice : Print product information
products = [[“iphone”,6888],[“MacPro”,14800],[“ millet 6”,2499],[“Coffee”,31],[“Book”,60],[“Nike”,699]], You need to print out the following format :
----- List of goods -----
0 iphone 6888
1 MacPro 14800
2 millet 6 2499
3 Coffee 31
4 Book 60
5 Nike 699
Record the products added by the user , If input q The exit , Print the information added by the user .
Ideas : The serial number in front of the commodity corresponds to the subscript of the commodity stored in the list , Double loop access list , You can output the product name and price separately . Don't wrap lines when printing , Put a placeholder directly , Change lines when you read the next item .
When recording user additions , use while The cycle keeps recording , Until user input q Jump out of the loop as the end . When storing items entered by users , Create a new list to store product names , In storage , Only read the product name for storage , The amount of goods is calculated separately . And then when outputting , Read the stored product name and output the total amount .
products = [["iphone",6888],["MacPro",14800],[" millet 6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("----- List of goods -----")
i = 0
for product in products:
print(i,end="\t")
for information in product:
print(information,end="\t")
print("\n")
i += 1
buylist = []
sum = 0
while 1:
buy = input(" Please enter the item number to be purchased ( With q ending ):")
if buy == "q":
break
if buy != "q":
buy = int(buy)
buylist.append(products[buy][0]) # Only add the product name
sum += products[buy][1] # Only calculate the total amount
print(" The product you want to buy is :")
for list in buylist:
print(list)
print(" The total amount is %d"%sum)
边栏推荐
- New generation garbage collector ZGC
- Example of shutter text component
- Unity load AB package
- Groovy basic syntax collation
- Introduction of Xia Zhigang
- Digital triangle model acwing 1018 Minimum toll
- HDU 1026 Ignatius and the Princess I 迷宫范围内的搜索剪枝问题
- Le lancement du jupyter ne répond pas après l'installation d'Anaconda
- BUUCTF---Reverse---easyre
- JMeter server resource indicator monitoring (CPU, memory, etc.)
猜你喜欢
Standardized QCI characteristics
Speech recognition (ASR) paper selection: talcs: an open source Mandarin English code switching corps and a speech
5. 无线体内纳米网:十大“可行吗?”问题
腾讯安卓开发面试,android开发的基础知识
腾讯字节等大厂面试真题汇总,网易架构师深入讲解Android开发
5. 無線體內納米網:十大“可行嗎?”問題
PowerPivot - DAX (first time)
报错分析~csdn反弹shell报错
Introduction of Xia Zhigang
[network planning] Chapter 3 data link layer (4) LAN, Ethernet, WLAN, VLAN
随机推荐
JVM_ Common [interview questions]
Extraction rules and test objectives of performance test points
Problems encountered in using RT thread component fish
OceanBase社区版之OBD方式部署方式单机安装
02 basic introduction - data package expansion
JS implementation force deduction 71 question simplified path
Selenium advanced operations
Tencent T4 architect, Android interview Foundation
腾讯字节等大厂面试真题汇总,网易架构师深入讲解Android开发
Catch ball game 1
范式的数据库具体解释
POJ 3207 Ikki' s Story IV – Panda' s Trick (2-SAT)
POJ3617 Best Cow Line 馋
JVM_常见【面试题】
Database specific interpretation of paradigm
Special topic of rotor position estimation of permanent magnet synchronous motor -- Summary of position estimation of fundamental wave model
Unity writes a timer tool to start timing from the whole point. The format is: 00:00:00
5. Nano - Net in wireless body: Top 10 "is it possible?" Questions
Anaconda安裝後Jupyter launch 沒反應&網頁打開運行沒執行
腾讯字节阿里小米京东大厂Offer拿到手软,老师讲的真棒