list为可变序列,tuple为不可变序列
list列表
创建方式
li = [1,2,'a']
li = list([1,2,'a'])
tuple元组
创建方式
tuple = (1,2,'a')
tuple = tuple([1,2,'a'])
tuple = (1,)一个元素
操作
通用序列
s和t是相同类型的序列,n,i,j 和k是整数,x是值
操作 | 结果 |
---|---|
x in s | 如果x等于s中的任何一个值为True,否False |
x not in s | 如果x不等于s中的任何值为True,否False |
s + t | 将s与t连接,返回新的 |
s * n or n * s | 相当于将s添加到自身n次 |
s[i] | 返回s的i,起始为0 |
s[i:j] | 返回s的i到j |
s[i:j:k] | 返回s的i到j,跨距为k |
len(s) | 返回s的长度 |
min(s) | 返回s的最小值 |
max(s) | 返回s的最大值 |
s.index(x [, i [, j]]) | 返回值x在s中索引(在索引i之后或索引j之前) |
s.count(x) | s中值x的总出现次数 |
可变序列
在表中s是可变序列类型的实例,t是任何可迭代对象,x是满足任何类型的任意对象。
操作 | 结果 |
---|---|
s [i] = x | x替换s[i]的值 |
s [i:j] = t | 从可迭代的t值替换从i到j的s |
del s [i:j] | 与s [i:j] = [] 相同 |
s [i:j:k] = t | s[i:j:k]的元素被t取代,长度要相同 |
del s [i:j:k] | 从列表中删除s[i:j:k]的元素 |
s.append(x) | 将x追加到序列的末尾(与s [len(s):len(s)] = [x]相同) |
s.clear() | 从s中删除所有项目(与del s [:]相同) |
s.copy() | 创建s的浅拷贝(与s[:]相同) |
s.extend(t)或s + = t | 使用t的内容延伸s(s [len(s):len(s)] = t) |
s * = n | 更新s,其内容重复n次 |
s.insert(i, x) | 在索引i插入x |
s.pop([i]) | 弹出索引i处的值,默认最后一个 |
s.remove(x) | 从s中移除第一个等于x的值 |
s.reverse() | 反转s |
s.sort() | 排序 |
应用
购物车
摘自网络
product_list = [('Mac', 9000), ('kindle', 800), ('tesla', 900000), ('python book', 105), ('bike', 2000)]
saving = input('please input your money:')
shopping_car = []
if saving.isdigit():
saving = int(saving)
while True:
for i, v in enumerate(product_list, 1):
print(i, '>>>>', v)
choice = input('选择购买商品编号[退出:q]:')
if choice.isdigit():
choice = int(choice)
if 0 < choice <= len(product_list):
p_item = product_list[choice - 1]
if p_item[1] < saving:
saving -= p_item[1]
shopping_car.append(p_item)
else:
print('余额不足,还剩%s' % saving)
print(p_item)
else:
print('序号不存在')
elif choice == 'q':
print('------------您已经购买如下商品----------------')
for i in shopping_car:
print(i)
print('您还剩%s元钱' % saving)
break
else:
print('invalid input')