Python list, tuple

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] = xx替换s[i]的值
s [i:j] = t从可迭代的t值替换从i到j的s
del s [i:j]与s [i:j] = [] 相同
s [i:j:k] = ts[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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值