当前位置:网站首页>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)
边栏推荐
- 深度学习分类网络 -- ZFNet
- 腾讯云数据库公有云市场稳居TOP 2!
- js获取浏览器系统语言
- [network planning] Chapter 3 data link layer (3) channel division medium access control
- 【计网】第三章 数据链路层(3)信道划分介质访问控制
- Recyclerview not call any Adapter method :onCreateViewHolder,onBindViewHolder,
- Leetcode question 283 Move zero
- Error analysis ~csdn rebound shell error
- Tencent T3 teaches you hand in hand. It's really delicious
- Notes on beagleboneblack
猜你喜欢

Learn to punch in Web

rt-thread i2c 使用教程

Digital triangle model acwing 1018 Minimum toll

【Yann LeCun点赞B站UP主使用Minecraft制作的红石神经网络】

PowerPivot——DAX(初识)

BUUCTF---Reverse---easyre

Enumeration gets values based on parameters
腾讯T4架构师,android面试基础

棋盘左上角到右下角方案数(2)

Oceanbase Community Edition OBD mode deployment mode stand-alone installation
随机推荐
SSH connection denied
【云小课】EI第47课 MRS离线数据分析-通过Flink作业处理OBS数据
B-杰哥的树(状压树形dp)
OceanBase社区版之OBD方式部署方式单机安装
B-jiege's tree (pressed tree DP)
Notes on beagleboneblack
Example of applying fonts to flutter
Special topic of rotor position estimation of permanent magnet synchronous motor -- Summary of position estimation of fundamental wave model
颜色(color)转换为三刺激值(r/g/b)(干股)
夏志刚介绍
Learn to punch in Web
数字三角形模型 AcWing 1018. 最低通行费
某东短信登录复活 安装部署教程
Case ① | host security construction: best practice of 3 levels and 11 capabilities
微信小程序常用集合
02 basic introduction - data package expansion
POJ 3207 Ikki' s Story IV – Panda' s Trick (2-SAT)
枚举根据参数获取值
Unity making plug-ins
持续测试(CT)实战经验分享