经过了一段时间的学习,慢慢的计入到了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")

 

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