当前位置:网站首页>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)
边栏推荐
- Le lancement du jupyter ne répond pas après l'installation d'Anaconda
- Vscode debug run fluent message: there is no extension for debugging yaml. Should we find yaml extensions in the market?
- 02 basic introduction - data package expansion
- 2022年6月语音合成(TTS)和语音识别(ASR)论文月报
- 使用ssh连接被拒
- Guangzhou's first data security summit will open in Baiyun District
- Cesium 两点之间的直线距离
- BeagleBoneBlack 上手记
- Zoom with unity mouse wheel: zoom the camera closer or farther
- logstash高速入口
猜你喜欢
Web security - payload
Example of applying fonts to flutter
Selenium advanced operations
Transformer model (pytorch code explanation)
Node.js: express + MySQL实现注册登录,身份认证
Enumeration gets values based on parameters
22-07-05 七牛云存储图片、用户头像上传
枚举根据参数获取值
Tencent T3 Daniel will teach you hand-in-hand, the internal information of the factory
Tencent T2 Daniel explained in person and doubled his job hopping salary
随机推荐
腾讯云数据库公有云市场稳居TOP 2!
Enumeration gets values based on parameters
【GET-4】
Groovy基础语法整理
Unity load AB package
New generation garbage collector ZGC
JVM_ Common [interview questions]
腾讯字节等大厂面试真题汇总,网易架构师深入讲解Android开发
【计网】第三章 数据链路层(4)局域网、以太网、无线局域网、VLAN
Synchronization of data create trigger synchronization table for each site
js获取浏览器系统语言
Tips for web development: skillfully use ThreadLocal to avoid layer by layer value transmission
Wonderful coding [hexadecimal conversion]
Vscode debug run fluent message: there is no extension for debugging yaml. Should we find yaml extensions in the market?
Ideas and methods of system and application monitoring
mod_wsgi + pymssql通路SQL Server座
5. 無線體內納米網:十大“可行嗎?”問題
Cesium 点击绘制圆形(动态绘制圆形)
AddressSanitizer 技术初体验
JS get browser system language