1.列表、元组操作
列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
定义列表
names = ["jack","tom","bob","jerry","bob"]
1.1通过下标访问列表中的元素,下标从0开始计数
print(names[0])
jack
print(names[1])
tom
print(names[-1]) #倒着取
bob
1.2列表切片
print(names[0:3]) #切片,包头不包尾
print(names[:3]) #切片,前面不写默认从0开始,不包尾
print(names[1:]) #切片,从指定的下标开始包尾
print(names[-3:-1]) #从右往左包括尾
1.3列表的增、删、改、查
1.3.1 增
names.append("majiang") #在列表的末尾追加
print(names)
names.insert(2,"sewei") #列表中插入到指定的位置
print(names)
1.3.2 删
names.remove("bob") #删除指定的
del names[1]
names.pop(2)
1.3.3 改
names[2] = "马江"
print(names)
1.3.4 查
print(names.index("bob"))
1.4 列表扩展
name1 = [1,2,3]
names.extend(name1) #扩展列表
print(names)
1.5 反转&排序
names.reverse() #反转;在后面打印
names.clear() #清空数组
names.sort() #排序;按照ASSIC码
1.6 列表copy
# Author:jack ma
import copy
names = ["jerry","tony","mj","hsw",["gg","mm"]]
names1 = copy.copy(names) #浅copy;只copy一层到第二层的时候就只copy内存地址;改names1第二层中的元素时names跟着变
name2 = copy.deepcopy(names) #深copy,第二层里面的也会进行copy
for i in names: #取元素
print(i)
print(names[0:-1:2]) #设置布长切片0和-1都可以省略不写(不包尾)
print(names[::2]) #包尾
print(names[:]) #打印所有
1.7 列表删除
del names
1.8 统计
print(names.count("bob")) #统计bob在names列表中有多少个
1.9
元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
语法
names = ("alex","jack","eric")
1.10
程序:购物车程序
需求:
# Author:jack ma
product_list = [
("iphone",5800),
("mac pro",12000),
("bycle",800),
("watch",1800),
("book",80),
("coffe",30)
]
shopping_list = []
slary = input("input your slary:")
if slary.isdigit(): #isdigit() #方法检测字符串是否只由数字组成。
slary=int(slary)
while True:
for dex,itm in enumerate(product_list): #enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。
print(dex,itm)
#print(product_list.index(itm),itm)
user_choice = input("你要买什么?>>>:")
if user_choice.isdigit():
user_choice=int(user_choice)
if user_choice < len(product_list) and user_choice >= 0:
p_itm = product_list[user_choice]
if p_itm[1] <= slary: #买的起
shopping_list.append(p_itm)
slary -= p_itm[1]
print("Added %s into shopping cart,your current blance: \033[31;1m%s\033[0m" %(p_itm,slary))
else:
print("\033[31;1m你的余额只剩%s还买个毛线\033[0m"%(slary))
else:
print("\033[31;1mproduct %s not exist\033[0m"%(user_choice))
elif user_choice == "q":
print("-----------shopping list-----------")
for i in shopping_list:
print(i)
print("你的余额还剩下\033[31;1m%s\033[0m"%(slary))
exit()
else:
print("Invalid options")
2.