码迷,mamicode.com
首页 > 编程语言 > 详细

python全栈开发-列表、元祖、字典、集合-7.13

时间:2018-07-13 15:07:58      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:开发   acp   rate   values   ctrl   ase   查询   字母   购物车   

列表、元祖、字典、集合

列表:

定义:是一个数据的集合,可以存放任何类型的数据,可以对集合进行增删改查等操作。

创建一个空列表L[ ],非空列表:L[‘a‘,‘b‘,‘c‘,.4]其索引号为0,1,2,3.创建嵌套列表:L[‘a‘,‘b‘,[‘c‘,‘d‘] ]

列表的查询L[2]:通过索引号,L[-1]从右边索引,-1即为右边第一个。L.index[‘a‘],返回a的索引号,L.count[‘a‘]:查看‘a‘的个数。

列表的切片:设列n2 = [‘shanshan‘,‘longting‘,‘alex‘,1,2,3,4,4,5,6,7,7,8,8,9,9,0,0,2,3,4,4]。使用n2[0:3]即可取出[‘shanshan‘,‘longting‘,‘alex‘],顾头不顾尾的取法,同时还可以使用负数,,不过也必须从左往右切,如n2[-1:-5],切片还可以指定步长,如n2[0:5:2]步长为2,结果为[‘shanshan‘,‘alex‘,2]。

列表的增加和删除:L.append(‘A‘),在列表的末尾加上A,L.insert(3,‘B‘):在索引号为3的地方插入B。L.pop():删除最后一个元素,L.remove(‘shanshan‘),删除列表中索引到的第一个shanshan,如果有多个shanshan呢,可以使用全局删除的方法:del L[2],还可以同时删除多个元素:del L[2:4].

列表的循环:for i in L:

        print(i)

列表的排序:L.sort(),这是通过ASCLL表来排序的,还可以逆序,L.reverse()。

列表的扩展:L.extend([2,1,1]),就可以在L的列表尾部加上一些元素。

列表的清空:L.clear()

列表的拷贝:L.copy(),拷贝后就完全独立了。

练习题:

现有商品

[[‘Iphone8‘,6888],[‘MacPro‘,14800],[‘小米6‘,2499],[‘Coffee‘,31],[‘Book‘,80],[‘Nike Shoes‘,799]],写一个循环,不断问用户想买什么,用户选择一个商品编号,就把该商品加如购物车,当用户输入q时,打印出购物
车商品并退出:
products = [[Iphone8,6888],[MacPro,14800],[小米6,2499],[Coffee,31],[Book,80],[Nike Shoes,799]]
shop_cart = []
while True:
    print("-------------商品列表------------")
    for index,p in enumerate(products) :                                #可以将索引号打出来
        print(%s. %s %s%(index,p[0],p[1]))                            #这里使用的固定格式输出


    choice = input("choice:")
    if choice.isdigit():                                                 #判断是否为数字
        choice = int(choice)
        if choice >= 0 and choice < len(products):                       #判断选择商品是否正确
            shop_cart.append(products[choice])
            print("add %s to the shop_cart"%(products[choice]))
        else :
            print("没有此商品")

    elif choice == q:
        if len(shop_cart)>0 :
            print("---------------购物车------------")
            for index,i in enumerate(shop_cart):
                print("%s. %s %s"%(index,i[0],i[1]))
        break
            
                    

 

字符串用法:

什么是字符串:字符串是一个有序的字符的集合,用0来存储和表示基本的文本信息,一对引号中的文本成为字符串。字符串的特点是有序不可变,如果修改了的话就会重新开辟新的内存地址。

如何查看源码:按住ctrl键点击字符串命令。

一些常见用法:

s.captalize():首字母大写/s.casefold():全部小写/s.center(50,‘*‘):字符串放在中间,旁边的用指定字符填满/s.count(‘o‘):字符串中o的个数/s.endwith(‘!‘):判断是否以!结尾/s.find(‘o‘):寻找o的索引/s3.format:格式化输入字符串,如s3 = ‘my name is {0},i am {1} years old !‘,使用s3.format(‘spencer‘,22)就可以进行格式化输入。

元祖类型:

元祖其实和列表差不多,也是存一组数,只不过它一旦创建就不可以修改,不能添加或者删除,所以又叫只读列表,主要用于一些配置信息的显示。但是他可以做切片,语法是小括号,里面可以嵌套列表。虽然元祖不可变,但是元祖里面 嵌套的可变元素可变,如列表。

字典以及特性:

字典是一种key-value的数据类型。语法:大括号,里面 先写key再写value,key后面要加上 :,每条信息之间需要用 ,隔开。特性首先是key-value结构,key的值需要可哈希,因此key需要保证唯一不可变,可存放多个值,可以修改,可以不唯一,无须,可以快速查找。可以快速查找的原因是将key哈希成一串数字,根据二分法等进行索引。

查看:dic[‘key‘],此种查看方式如果不存在的话会报错。 dic.get(‘key‘),此种方式查看如果不存在会显示none。

增加/修改:dic[‘key‘] = ‘value‘

判断是否存在:‘key‘ in dic

字典的嵌套:

技术分享图片技术分享图片

查看所有的value/key:info.values()/info.keys()

字典的删除:info.pop(‘key‘)/info.popitem()此方法为随机删除/del dic[‘key‘]

字典的循环:

for key in dic :
    print(key,dic[key])

 

 

 

 


 

python全栈开发-列表、元祖、字典、集合-7.13

标签:开发   acp   rate   values   ctrl   ase   查询   字母   购物车   

原文地址:https://www.cnblogs.com/spencer123/p/9299813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!