说明:

1、列表、元祖

存储大量数据,如果用字符串存储,写入不方便,修改更不方便,因此用列表来存储

#From CaiChao

# _*_coding:utf-8_*_

names = ["张三","李四","王五"]

print(names[0],names[2])

或者

print(names[0:2])

备注:

1)、取值位置从0开始;

2)、[0:2]结束位置,顾头不顾尾;

3)、取最后一个使用[-1];

4)、取最后两位[-2:]

5)、前面的0也可以去掉[:3],可以理解成是多少取到多少

-----------------------------------------------------

方便添加:可以直接在源列表里面添加

或者

names.append("刘六")                  在最后面添加

names.insert(1,"马七")                在李四前面添加

names[1] = "麻麻"                     替换、修改李四

names.remove("李四")              删除李四

names.pop()              删除最后一个

names.clear()  清空

names.sort()  排序,特殊符号>数字>字母

names.extend(names2)  合并其他列表

print(names.index("李四"))            查找所在位置

print( names[names.index("李四")] )   查找并打印出查找名字

print(names.count("李四"))      统计出现的次数

print(names)


for循环中引用列表

for循环列表:for i in names:      print(i)

奇偶打印:print(names[0:-1:2])


元组:元组其实跟列表差不多,也是存一组数,只是它一旦创建,便不能再修改,所以又叫只读列表

写法:names = ("张三","李四","王五")      使用()

就2中用法:index和count


应用举例:购物车

需求:

启动程序后,让用户输入工资,然后打印商品列表

允许用户根据商品编号购买商品

用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 

可随时退出,退出时,打印已购买商品和余额

# _*_coding:utf-8_*_
product_list = [('小米手机',1800),('苹果手机',5400),('华为手机',1200),('微软手机',2400),('酷派手机',680)]
shopping_list = []
salary = input("请输入你的工资总额:")
if salary.isdigit():
    salary = int(salary)
    while True:
        for i in product_list:
            print(product_list.index(i),i)
        user_choice = input("请输入您需要购买的商品:")
        if user_choice.isdigit():
            user_choice = int(user_choice)
            if user_choice >=0 and user_choice <len(product_list):
                p_itme = product_list[user_choice]
                if p_itme[1] <= salary:
                    shopping_list.append(p_itme)
                    salary -= p_itme[1]
                    print("added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" % (p_itme, salary))
                else:
                    print("您的钱不够了啊!要充值了!")
            else:
                print("您输入有误,请重新输入!")
        if user_choice == 'q':
            print("-----商品清单------")
            for name in shopping_list:
                print(name)
            exit()
        else:
           print("请输入数字选项哦!")



2、字符串操作

name = "caicai"

print(name.capitalize())            首字母大写

print(name.count("a")) 统计a出现的次数

print(name.center(50,"-")) 50个字符,不足的用-补齐,并且文本居中

print(name.find("name")) 查找字符串所在文本中位置

print(name.format(name=cc,age=Age)) 字符串拼接

print(name.isalnum()) 判断是否是字符或者数字

print(name.isdigit()) 判断是否是整数

print(names.index("李四")) 查找下标

print(names.insert(1,'shishi')) 插入字符串

print(names.pop(1)) 删除列表中的一个元素

print('+'.join(['1','2','3']))      在中间添加符号



3、集合、字典操作

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容,通过索引查找。(存大内容)

info = {

#   key        value

    'stu1101': "TengLan Wu",

    'stu1102': "LongZe Luola",

    'stu1103': "XiaoZe Maliya",

}

查找:

print(info)

print(info["stu1101"])          没有key会报错

print(info.get('stu1106'))      没有key也不会出错

修改:

info["stu1101"] ="武藤兰"

添加:

info["stu1104"] ="苍进空"

删除:

del info["stu1104"]

其他用法:

print('stu1103' in info)        判断这个key是否存在,存在ture,不存在flase

info.keys                       打印出所有key

info.setdefault("stu1106","马老师")    创建一个新的值,先去字典里面查找,如果有直接取回,没有就创建新值

info.update(字典2) 合并2个字典,有重复值更新为第二个

info.items() 把字典转成一个列表


多级字典嵌套及操作

av_catalog = {

    "欧美":{

        "www.youporn.com": ["很多免费的,世界最大的","质量一般"],

        "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],

        "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],

        "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]

    },

    "日韩":{

        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]

    },

    "大陆":{

        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]

    }

}

av_catalog["*"] = { 'www.*.com':['不好看','别用她'] }       #增加一个key

del av_catalog["日韩"] #删除一个key

av_catalog["大陆"]["1024"][1] = "可以在国内做镜像"      #修改一个key

print(av_catalog)

print(av_catalog.get("*")) #查找一个key 


字典的for循环:

for i in info:

    print(i,info[i])