经过了一段时间的学习,慢慢的计入到了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,完毕。
程序练习
程序:购物车程序
需求:
- 启动程序后,让用户输入工资,然后打印商品列表
- 允许用户根据商品编号购买商品
- 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
- 可随时退出,退出时,打印已购买商品和余额
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")
总结:本章的重点是列表,无论学什么语言都至关重要的基础部分,建议小白多看几遍,宁愿慢,也要把基础打牢。