Python list(列表)实践

简介:

列表常用操作:

1.先创建个商品列表

>>> product = ['iPhone','Xiaomi','Meizu'] 

2.打印列表

>>> product

['iPhone', 'Xiaomi', 'Meizu']

3.追加一个元素

>>> product.append('Samsung')

>>> product

['iPhone', 'Xiaomi', 'Meizu', 'Samsung']

4.统计元素在列表中出现的次数

>>> product.count('Xiaomi')

1

5.查找元素索引位置

>>> product.index('Meizu') 

2

6.在执行位置插入元素

>>> product.insert(2,'ZTE')

>>> product

['iPhone', 'Xiaomi', 'ZTE', 'Meizu', 'Samsung']

7.删除执行位置索引元素,不加索引,默认删除最后一个元素

>>> product.pop(2)

'ZTE'

>>> product

['iPhone', 'Xiaomi', 'Meizu', 'Samsung']

8.删除列表中元素为三星的第一个元素

>>> product.remove('Samsung')

>>> product

['iPhone', 'Xiaomi', 'Meizu']

9.列表元素排序

>>> product.sort()    

>>> product

['Meizu', 'Xiaomi', 'iPhone']

>>> product.reverse()

>>> product

['iPhone', 'Xiaomi', 'Meizu']


再创建一个价格列表:

>>> prices = ['5000','2000','1500']

以上两个列表,就可以通过商品名称获取到价格,因为他们索引位置是对应的。

例如:

>>> prices[product.index('iPhone')]

'5000'

由此可见,可以通过一个for循环,可以分别打印商品信息:

>>> for i in product:

...   print i,prices[product.index(i)]

... 

iPhone 5000

Xiaomi 2000

Meizu 1500

结合以上列表基本使用,写出下面这个实例:

  1. 用户输入工资金额,选择购买的商品(金额不够买的商品,做出提示)

  2. 购买后商品先加入购物车,最后输出都买了什么商品


创建个测试文本,也可以直接写到列表里面:

# cat shop.txt 

iPhone 5000

Xiaomi 2000

Meizu 1500

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# vi shop_list.py
 
#!/usr/bin/env python
# coding:utf8
import  sys
f =  open ( 'shop.txt' )
product = []
prices = []
shop_list = []
flag = 0      #标记
flag2 = 0
for  line  in  f.readlines():
     new_line = line. split ()
     product.append(new_line[0])   #循环将第一个索引位置值追加列表product
     prices.append(int(new_line[1]))   #循环第二个索引位置值追加列表prices
#print product,'\n',prices
while  True:
     for  pp  in  product:
         if  flag2 != 1:print pp, '\t' ,prices[product.index(pp)]    #判断下面flag2变量值,是否打印商品信息
     while  True:
         try:
             if  flag == 1:    #判断上次执行情况,如果已经执行,就不再提示输入工资
                 break
             else :
                 salary = int(raw_input( '请输入您的工资: ' ))
                 break
         except Exception:
             print  "工资只能输入数字!"
     if  salary < min(prices):    #内置函数min()判断列表中最小值
         print  "对不起,您的工资买不起任何商品!"
         break
     choise_product = raw_input( '请输入您要购买的商品名称: ' ).strip()   #strip()函数去空格
     if  choise_product  in  product:
         product_prices = prices[product.index(choise_product)]    #通过输入的商品位置来找到商品价格
         if  salary >= product_prices:
             print  "您已成功购买%s,并加入购物车."  %choise_product
             shop_list.append(choise_product)
             salary = salary - product_prices   #工资减去现在商品的价格
             if  salary < min(prices):      #判断当前剩余工资是否小于最低价的商品
                 print  "对不起,剩余%d元,已买不起任何商品!"  %salary
                 print  "购物车:%s"  %shop_list
                 sys. exit ()
             else :
                 print  "您还剩余%d元,还可以购买以下商品: "  %salary
                 for  product_prices  in  prices:
                     if   product_prices <= salary:   #打印剩余的钱数小于或等于列表的元素
                         print product[prices.index(product_prices)], '\t' ,product_prices
                 flag = 1     #用于判断是否执行上面命令,不再下次提示输入工资。以下flag都是如此
                 flag2 = 1    #用于判断是否执行上面命令,如果执行,就不再打印商品信息
         else :
             print  "您的工资买不起%s! 请重新选择商品:"  %choise_product
             flag = 1
     else :
         print  '\033[31;1m没有您要的商品! 请重新选择: \033[0m'
         flag = 1
         flag2 = 2    #非1都可以。如果等于1,第二次输入购买的商品名称错误,将不打印商品信息,因为flag2变量已经在上面赋值了1

wKioL1X_sK6TokncAAQRNiCpqLU679.jpg


目录
相关文章
|
2月前
|
测试技术 开发者 Python
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
在 Python 中,创建列表有两种方法:使用方括号 `[]` 和调用 `list()` 函数。虽然两者都能创建空列表,但 `[]` 更简洁、高效。性能测试显示,`[]` 的创建速度比 `list()` 快约一倍。此外,`list()` 可以接受一个可迭代对象作为参数并将其转换为列表,而 `[]` 则需要逐一列举元素。综上,`[]` 适合创建空列表,`list()` 适合转换可迭代对象。
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
|
7月前
|
索引 Python
Python 列表(List)
Python 列表(List)
|
7月前
|
存储 索引 Python
Python中的列表(List) 详解与高级应用
Python中的列表(List) 详解与高级应用
98 0
|
7月前
|
存储 算法 数据处理
Python中的列表(List) 类型详解与实战应用
Python中的列表(List) 类型详解与实战应用
120 0
|
7月前
|
存储 索引 Python
python中的list列表
python中的list列表
58 1
|
7月前
|
索引 Python
Python列表(List)
Python列表(List)
41 2
|
索引 Python
Python 列表list详解(超详细)
Python 列表list详解(超详细)
158 0
|
JavaScript 索引
05-Python-列表(list)介绍
05-Python-列表(list)介绍
|
存储 索引 Python
Python 列表 — list
`list`(列表) 是 `Python` 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组
|
索引 Python
python list 列表(2)
python list 列表(2)