python修行之路(四 列表与元组)

经过了一段时间的学习,慢慢的计入到了python的列表、元组的学习了,这一部分是后面函数的基础,这也是无论何种语言都要学习的部分。其实过程很辛苦,不过对于小白的我不见得是一件坏事,反正都看不懂,倒也没有什么心理负担。想想学成后的一览众山小,此时的积累,便是每一步都要坚实的。

 

列表、元组

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。

 定义列表

names = ["A","B","C","D"]

通过下标访问列表中的元素,下标从0开始计数

names[0]      #此时结果是A

names[2]      #此时结果是C

names[-1]     #此时结果是D

names[-2]     #此时结果是C

 

切片:取多个元素

>>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
['Tenglan', 'Eric', 'Rain']
>>> names[1:-1] #取下标1至-1的值,不包括-1
['Tenglan', 'Eric', 'Rain', 'Tom']
>>> names[0:3]
['Alex', 'Tenglan', 'Eric']
>>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
['Alex', 'Tenglan', 'Eric']
>>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
['Rain', 'Tom', 'Amy']
>>> names[3:-1] #这样-1就不会被包含了
['Rain', 'Tom']
>>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
['Alex', 'Eric', 'Tom']
>>> names[::2] #和上句效果一样
['Alex', 'Eric', 'Tom']

 

插入

names =["A","B","C","D"]

 names.append("E")

names.insert(1)

>>>A,E,B,C,D

 

修改

names =["A","B","C","D"]

names[2] ="E"

>>>A,B,E,D

 

删除

names =["A","B","C","D"]

方法一:names.remove("A")

print(names)

此时输出的值是:B,C,D

方法二:del names[0]

print(names)

此时输出的值是:B,C,D

names.pop(0)

print(names)

此时输出的值是:B,C,D     #如果pop()不写数字,则默认删除最后一个。

 

统计

names = ["A","B","C","D"]

print(nams.count(C))

 

清空

names = ["A","B","C","D"]

names.clear()

print(names)

此时列表清空

 

反转

names = ["A","B","C","D"]

names.reverse()

pritnt(names)

>>>D,C,B,A

 

排序

>>> names

['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']

>>> names.sort()

>>> names

['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']

 

扩展

>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
>>> b = [1,2,3]
>>> names.extend(b)
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

 

元组

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

语法:

names = ("A","B","C")
它只有2个方法,一个是count,一个是index,完毕。
 
程序练习 

程序:购物车程序

需求:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 
  4. 可随时退出,退出时,打印已购买商品和余额

product_list = [('phone',5800),

                     ( 'Mac Pro',9800),

                      ('Bike',800),

                      ('watch',10600),

                       ('Coffee',31)]

shopping_list= []

salary = input("input your salary:")

if salary.isdigit():

     salary = int(salary)

     while  True:

          for index,item in enumerate(product_list):

              print(index,item)

           user_choice = input("请选择商品:")

           if user_choice.isdigit():

              user_choice = int(user_choice)

              if user_choice<len(product_list) and user_choice>=0

                  p_item = product_list[user_choice]

                     if p_item[1]<=salary:  #买的起

                           shopping_list.apeend(p_item)

                             salary- =p_item(1)

                             print("Added  %s  into shopping cart,your current balance is \033[31;1m%s\033[0m"%(p_item,salary))

                     else:

                              print("\033[41;1m你的余额只剩[%s]啦,已无法购买\033[0m" % alary)

          elif  user_choice  =='q'

                 ptint("--------shopping  list------------")

                 for  p  in shopping_list:

                       print(p)

                 print("Your current  balance :",salary)

                 exit()      

          else

                 print("invalid  option")

 

总结:本章的重点是列表,无论学什么语言都至关重要的基础部分,建议小白多看几遍,宁愿慢,也要把基础打牢。

 

posted @ 2017-04-28 16:35  当IT幸福来敲门  阅读(195)  评论(0编辑  收藏  举报