当前位置:网站首页>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)
边栏推荐
- 颜色(color)转换为三刺激值(r/g/b)(干股)
- Finally, there is no need to change a line of code! Shardingsphere native driver comes out
- 5. Wireless in vivo nano network: top ten "feasible?" problem
- 【GET-4】
- 句号压缩过滤器
- Leetcode question 283 Move zero
- String长度限制?
- Oceanbase Community Edition OBD mode deployment mode stand-alone installation
- Number of schemes from the upper left corner to the lower right corner of the chessboard (2)
- 22-07-05 七牛云存储图片、用户头像上传
猜你喜欢

Example of applying fonts to flutter

Speech recognition (ASR) paper selection: talcs: an open source Mandarin English code switching corps and a speech

Continuous test (CT) practical experience sharing

Learn to punch in Web

02 基础入门-数据包拓展

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

01 basic introduction - concept nouns

Monthly report of speech synthesis (TTS) and speech recognition (ASR) papers in June 2022

Example of shutter text component

5. 无线体内纳米网:十大“可行吗?”问题
随机推荐
JS get browser system language
Tencent byte Alibaba Xiaomi jd.com offer got a soft hand, and the teacher said it was great
使用ssh连接被拒
8086指令码汇总表(表格)
Transformer model (pytorch code explanation)
POJ3617 Best Cow Line 馋
logstash高速入口
枚举根据参数获取值
Is it difficult for small and micro enterprises to make accounts? Smart accounting gadget quick to use
Qinglong panel white screen one key repair
Extraction rules and test objectives of performance test points
5. Nano - Net in wireless body: Top 10 "is it possible?" Questions
Case ① | host security construction: best practice of 3 levels and 11 capabilities
小微企业难做账?智能代账小工具快用起来
精彩编码 【进制转换】
Tencent T3 teaches you hand in hand. It's really delicious
leetcode先刷_Maximum Subarray
Tips for web development: skillfully use ThreadLocal to avoid layer by layer value transmission
持续测试(CT)实战经验分享
[cloud native and 5g] micro services support 5g core network