List of introductory Python articles (iii)

Source: Internet
Author: User

1. List definition
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"] #列表存储,类似数组
2, the operation of the list (1) slice
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"] #列表存储,类似数组print(names[1],names[3]) #取值,1、3代表下标,从左到右的位置执行结果:Guyun Xuliangchenprint(names[1:3]) #切片,顾头不顾尾取[1]、[2]的值print(names[0:3]) #切片print(names[:3]) #等同于0:3,从下标0到3print(names[-1]) #切片,取倒数第一个值print(names[-2]) #取倒数第二个值print(names[-2:]) #取最后两个值
(2) Increase--append:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]names.append("LeiHaidong") #追加到最后print(names)执行结果:[‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘, ‘LeiHaidong‘]
(3) Modify--insert:
names.insert(1,"Chenronghua")  #数据插入,插在哪个位置前面就写这个元素的下标,如插在Guyun前面names.insert(3,"Xinzhiyu") #插在Guyun后面print(names)执行结果:[‘ZhangYang‘, ‘Chenronghua‘, ‘Guyun‘, ‘Xinzhiyu‘, ‘Xiangpeng‘, ‘Xuliangchen‘, ‘LeiHaidong‘]
(4) Query--index:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]print(names)print(names.index("Xiangpeng")) #查出Xiangpeng的位置print(names[names.index("Xiangpeng")]) #获取下标内容执行结果:[‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘]2Xiangpeng
(5) Statistical--count:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]print("count-->",names.count("ZhangYang"))执行结果:count--> 1
(6) Reverse--reverse:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]names.reverse()print(names)执行结果:[‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘]reverse--> [‘Xuliangchen‘, ‘Xiangpeng‘, ‘Guyun‘, ‘ZhangYang‘]
(7) Extended--extend:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]names2 = [1,2,3,4]print(names)names.extend(names2)print("extend-->",names)执行结果:[‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘]extend--> [‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘, 1, 2, 3, 4]
(8) Sort--sort:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]names.sort()print(names)执行结果:[‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘, ‘ZhangYang‘]
(9) Clear--clear:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]names.clear()print(names)执行结果:[]
(10) Copy--copy:
names = ["ZhangYang","Guyun","Xiangpeng","Xuliangchen"]names2 = names.copy()print(names)print(names2)names[1] = "古云"  #更改Guyun,可以看到names2中并没有修改print("names-->",names)print("names2-->",names2)执行结果:[‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘][‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘]names--> [‘ZhangYang‘, ‘古云‘, ‘Xiangpeng‘, ‘Xuliangchen‘]names2--> [‘ZhangYang‘, ‘Guyun‘, ‘Xiangpeng‘, ‘Xuliangchen‘]
(11) List nested replication--copy.deepcopy:
names = ["Zhangyang", "Guyun", ["Alex", "Jack"], "Xiangpeng", "xuliangchen"] Names2 = Names.copy () print (names) print ( NAMES2) names[1] = "Elegance" names[2][0] = "ALEX" #更改列表中的alex为ALEX, you can see that the names2 also changes the print ("names-->", names) print (" Names2--> ", names2) execution results: [' Zhangyang ', ' Guyun ', [' Alex ', ' Jack '], ' Xiangpeng ', ' xuliangchen ' [' Zhangyang ', ' Guyun ', [' Alex ', ' Jack '], ' Xiangpeng ', ' xuliangchen ']names--> [' Zhangyang ', ' Elegance ', [' Alex ', ' Jack '], ' Xiangpeng ', ' Xuliangchen ']names2--> [' Zhangyang ', ' Guyun ', [' ALEX ', ' Jack '], ' Xiangpeng ', ' Xuliangchen ']★★★★ Note: Copy here will only copy the first layer , the list contains a list of memory addresses that point to the list, so the copied parts change accordingly when you change the elements in the list. For deep copying, you can import the Copy module: Import copynames2 = copy.deepcopy (names) print (names) print (names2) names[1] = "Elegance" names[2][0] = " ALEX "Print (" names--> ", names) print (" names2--> ", Names2) executes the result: [' Zhangyang ', ' Guyun ', [' Alex ', ' Jack '], ' Xiangpeng ', ' xuliangchen ' [' Zhangyang ', ' Guyun ', [' Alex ', ' Jack '], ' Xiangpeng ', ' xuliangchen ']names--> [' Zhangyang ', ' Elegance ', [' ALEX ', ' Jack '], ' Xiangpeng ', ' XuliangChen ']names2--> (' Zhangyang ', ' Guyun ', [' Alex ', ' Jack '], ' Xiangpeng ', ' xuliangchen ') can see that the copy is completely cloned, but is not normally used during production, Copying more than one piece of data equals to occupying a memory space.
(a) For loop list:
names = ["ZhangYang","Guyun",["alex","jack"],"Xiangpeng","Xuliangchen"] for i in names:    print(i)执行结果:ZhangYangGuyun[‘alex‘, ‘jack‘]XiangpengXuliangchen
(13) Step slice:
names = ["ZhangYang","Guyun",["alex","jack"],"Xiangpeng","Xuliangchen"] print(names[0:-1:2]) #打印第一个到最后一个,步长为2执行结果:[‘ZhangYang‘, [‘alex‘, ‘jack‘]]
3. Procedure Practice

Program: Shopping Cart Program

Demand:

After you start the program, let the user enter the payroll, and then print the list of items
Allow users to purchase items based on their product number
After the user selects the product, checks whether the balance is enough, enough on the direct debit, enough to remind
You can exit at any time to print the purchased goods and balances when exiting

#!/usr/bin/python# _*_ coding:utf-8 _*_# aothr:kimgoods_list = [[' Iphone ', 5800], [' Mac Pro ', 9800], [' Bike ', 800] , [' Watch ', 10600], [' Coffee ', +], [' Alex Python ', 120]]shopping_list = [] #此列表为空当做购物车使用salary = input ("Please Inpu T your salary: ") if Salary.isdigit (): salary = Int (salary) while True:for Index,item in enumerate (goods_list) : #enumerate可以取出列表的下标和内容 print (index,item) User_choice = input ("Please select the product number you need:") if USER_CHOICE.ISD Igit (): user_choice = Int (user_choice) if User_choice < Len (goods_list) and User_choice >= 0:                    #len可以取出列表的长度 G_item = Goods_list[user_choice] If g_item[1] <= salary: Shopping_list.append (g_item) Salary-= g_item[1] Print ("The item%s was successfully added to the shopping cart, the current balance is \033[31; 1m%s\033[0m "% (G_item, salary)) Else:print (" Your balance is%s, cannot buy this item, please recharge! ") "%salary) Else:prinT ("Your selected product number%s is incorrect, please re-select:"%user_choice) elif User_choice = = ' Q ': print ('------Goods List------')            For P in Shopping_list:print (p) print ("Your current balance is%s"%salary) exit () Else: Print ("Your input is wrong, please enter the correct product number!") ")

List of getting started with Python (iii)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.