list列表

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

#!/usr/bin/env python 
# _*_ encoding:utf-8 _*_
# author:snate
name_list = ["alex","zhangdan","daxiaowen","jack"]
print(name_list[0])
print(name_list[1:3])  # 切片 左闭右开  顾头不顾尾
print(name_list[0:3])
print(name_list[-1])
print(name_list[-2:-1])  # ['daxiaowen']
print(name_list[0:-1]) # ['alex', 'zhangdan', 'daxiaowen']
print(name_list[0:3:2])# ['alex', 'daxiaowen']
print(name_list.index("daxiaowen"))  # 2 查找某个元素所在的下标
name_list.append("gxw")   # 在末尾添加一个元素
name_list.insert(2,"nihao") # 在2的位置插入nihao

name_list[2]="张丹" # 修改元素的值

print(name_list)
name_list.append("daxiaowen")
print(name_list.count("daxiaowen"))  # 统计某个字符串出现的次数
print(len(name_list))  # 用函数len统计字符串的长度
print(name_list)
del name_list[2] # 删除第三个元素
print(name_list)
# del name_list  # 删除整个列表 print(name_list)
if "daxiaowen" in name_list: # 判断某个元素是否在列表中
    print(name_list.index("daxiaowen"))
for i in name_list:   # 遍历整理列表,
    print(i)
for index,element in enumerate(name_list): # 遍历整个列表,下标一块打印,使用enumerate函数
    print(index, element)

list对象的赋值、浅copy 和深copy

will = ["Will", 28, ["Python", "C#", "JavaScript"]]
wilber = will
print id(will)
print will
print [id(ele) for ele in will]
print id(wilber)
print wilber
print [id(ele) for ele in wilber]
will[0] = "Wilber"
will[2].append("CSS")
print id(will)
print will
print [id(ele) for ele in will]
print id(wilber)
print wilber
print [id(ele) for ele in wilber]

执行结果:

分析:

首先,创建了一个名为will的变量,这个变量指向一个list对象,从第一张图中可以看到所有对象的地址(每次运行,结果可能不同)
然后,通过will变量对wilber变量进行赋值,那么wilber变量将指向will变量对应的对象(内存地址),也就是说”wilber is will”,”wilber[i] is will[i]”
可以理解为,Python中,对象的赋值都是进行对象引用(内存地址)传递
第三张图中,由于will和wilber指向同一个对象,所以对will的任何修改都会体现在wilber上
这里需要注意的一点是,str是不可变类型,所以当修改的时候会替换旧的对象,产生一个新的地址39758496

浅copy

import copy
will = ["Will", 28, ["Python", "C#", "JavaScript"]]
wilber = copy.copy(will)

print id(will)
print will
print [id(ele) for ele in will]
print id(wilber)
print wilber
print [id(ele) for ele in wilber]

will[0] = "Wilber"
will[2].append("CSS")
print id(will)
print will
print [id(ele) for ele in will]
print id(wilber)
print wilber
print [id(ele) for ele in wilber]

  执行结果:

分析:

首先,依然使用一个will变量,指向一个list类型的对象
然后,通过copy模块里面的浅拷贝函数copy(),对will指向的对象进行浅拷贝,然后浅拷贝生成的新对象赋值给wilber变量
浅拷贝会创建一个新的对象,这个例子中”wilber is not will”
但是,对于对象中的元素,浅拷贝就只会使用原始元素的引用(内存地址),也就是说”wilber[i] is will[i]”

当对will进行修改的时候
由于list的第一个元素是不可变类型,所以will对应的list的第一个元素会使用一个新的对象39758496
但是list的第三个元素是一个可变类型,修改操作不会产生新的对象,所以will的修改结果会相应的反应到wilber上

备注:使用下面的操作会产生浅copy的效果
使用切片[:]操作
使用工厂函数(如list/dir/set)
使用copy模块中的copy()函数

深copy

import copy

will = ["Will", 28, ["Python", "C#", "JavaScript"]]
wilber = copy.deepcopy(will)

print id(will)
print will
print [id(ele) for ele in will]
print id(wilber)
print wilber
print [id(ele) for ele in wilber]

will[0] = "Wilber"
will[2].append("CSS")
print id(will)
print will
print [id(ele) for ele in will]
print id(wilber)
print wilber
print [id(ele) for ele in wilber]

分析:

首先,同样使用一个will变量,指向一个list类型的对象
然后,通过copy模块里面的深拷贝函数deepcopy(),对will指向的对象进行深拷贝,然后深拷贝生成的新对象赋值给wilber变量
跟浅拷贝类似,深拷贝也会创建一个新的对象,这个例子中”wilber is not will”
但是,对于对象中的元素,深拷贝都会重新生成一份(有特殊情况,下面会说明),而不是简单的使用原始元素的引用(内存地址)
例子中will的第三个元素指向39737304,而wilber的第三个元素是一个全新的对象39773088,也就是说,”wilber[2] is not will[2]”

当对will进行修改的时候
由于list的第一个元素是不可变类型,所以will对应的list的第一个元素会使用一个新的对象39758496
但是list的第三个元素是一个可不类型,修改操作不会产生新的对象,但是由于”wilber[2] is not will[2]”,所以will的修改不会影响wilber

购物车:

ReadME:

这个一个关于购物车的程序
个人介绍
name:Gaoxuewu
nickName:snate
blog_addr:http://www.cnblogs.com/itlinux/p/5723060.html
功能介绍
fullShopping.py
输入用户名,登录到电子商城,判断用户名在用户文件中是否存在,存在读取用户工资,若不存在将完成购物, 退出系统时,将用户的信息写入到 用户文件中。
用户可以完成购物、修改购物车信息(添加和删除购物车的商品)、结账退出等操作。
从文件中读取商品的种类和价格信息。
将购物车信息写入到文件中。
Manger.py
从文件中读取商品信息保存到字典中。
修改商品的价格,并写回文件
环境依赖
python3.*
window/linux os
time
目录结构
fullShopping
├── __init__.py
├── README.md # 程序介绍
├── fullShopping flowChart # 程序流程图
├── user.txt # 用户信息,包含用户名和用户的余额信息
├── Product_list.txt  # 商品信息,包含商品的编号,商品名称和价格
├── Shopping_list.txt # 购物车信息 包含商品的名称,购物商品的数量
├── fullShopping.py # 电子商城测试程序
      ├── ReadProductDic() # 将商品信息从文件中读取,并保存到字典中
      ├── WriteShoppingProductFile(Shopping_Chart) # 将购买的商品以及商品的数量写入到文件中
      ├── Exit_System() # 退出系统
      ├── BreakFlag() # 判断是否需要继续
      ├── ThroughProductDic(Product_list) #  遍历商品列表
      ├── ThroughShoppingDic(Shopping_Chart) # 遍历购物车字典
├── Manager.py # 管理员程序
      ├── ReadProductDic()  # 读取商品信息到文件
      ├── ThroughShoppingDic(Shopping_Chart) # 保存商品信息到文件
运行说明
用户程序
将文件拷贝到安装好python3.*的系统环境中,执行python fullShopping.py即可。
管理员程序
将文件拷贝到安装好python3.*的系统环境中,执行python Manger.py即可。

流程图:购物车流程图:

购物车1:

购物车购物、修改购物车、结账退出。

#!/usr/bin/env python 
# _*_ encoding:utf-8 _*_
# author:snate
product_list =[("MyWatch",8000),
               ("NoteBook",3000),
               ("xiaoMiPhone",1500),
               ("apple",5)
               ]
shopping_list=[]
salary =int(input("请输入您的工资:"))
print("==========product list=============")
while True:
    for index,product in enumerate(product_list):
        print(index,product_list[index][0],product_list[index][1])
    user_choice = input("请输入您的选择:")
    if user_choice.isdigit():
        user_choice = int(user_choice)
        if user_choice >=0 and user_choice <len(product_list):
            if product_list[user_choice][1]<salary:
                product = product_list[user_choice]
                salary -= product[1]
                shopping_list.append(product[0])
                print("added the \033[31;1m%s \033[0m to shopping chart!,your salary is \033[31;1m%s \033[0m" %(product[0],salary))
            else:
                print("您的余额为: \033[42;1m%s \033[0m,不足以支出此产品,买个毛线呀!" %salary)
        else:
            print("您输入编号为\033[41;1m%s] \033[0的商品不存在,请重新输入"% user_choice)
    elif user_choice == "q":
        print("============shopping list=====================")
        for product in shopping_list:
            print(product)
        print("您的余额为:\033[42;1m%s \033[0m"% salary)
        exit()
    else:
        print("invalid option")

  购物车2:

#!/usr/bin/env python 
# _*_ encoding:utf-8 _*_
# author:snate
def print_menu_table(): #  打印商品列表的表头
    print("===========商品清单为:===================")
    menu_table = '''
                编号    商品名称       商品价格
          '''
    print(menu_table)
def print_menu_list(menu_list): #  打印商品列表
     print_menu_table()
     for index,item in enumerate(menu_list):
        menu_dic[index] = menu_list[index];
        menu_info='''
                {id}      {name}       {price}
        '''.format(id=index,name=menu_list[index][0],price=menu_list[index][1])
        print(menu_info)
# 购物,并且将购买的商品加入到字典中,其中关键字商品的名称及单价,value值为cnt
def shopping():
    your_balance=int(input("请输入您的工资:"))
    while True:
        print_menu_list(menu_list)
        cnt = 0;#记录商品的数量
        user_choice = input("请输入您的商品编号:")
        if user_choice.isdigit():
            user_choice = int(user_choice)
            if user_choice >=0  and  user_choice < len(menu_list):
                if menu_list[user_choice][1] < your_balance:
                    shopping_product = menu_list[user_choice]
                    if shopping_product in shopping_dic:
                        shopping_dic[shopping_product] += 1
                        your_balance -= shopping_product[1]
                    else:
                        shopping_dic[shopping_product] = 1
                        your_balance -= shopping_product[1]
                    print("将商品[%s]加入到购物车,您的余额为:%s" % (shopping_product[0], your_balance))
                else:
                    print("您的余额为\033[31;1m%s\033[0m,不足以支出次商品,还买个屁呀!" % your_balance)
            else:
                print("您输入\033[31;1m[%s]\033[0m不存在,请输入输入!" % user_choice)
        elif user_choice == "q":
            print("=============shopping list===============")
            print_shopping_list(shopping_dic)
            print("您的余额为:\033[31;1m[%s]\033[0m!" %your_balance)
            exit()
        else:
            print("invalid option")
# 购物,并且将购买的商品加入到字典中,其中关键字商品的名称及单价,value值为cnt
def print_shopping_list(shopping_dic):
    print("\t\t商品编号\t\t商品名称\t\t商品价格\t\t商品数量");
    for index,product in enumerate(shopping_dic):
        print("\t\t%s\t\t%s\t\t%s\t\t%s"% (index, product[0], product[1], shopping_dic[product]))

menu_list = [("ihone", 3800), ("notebook", 800), ("pen", 50), ("apple", 30)]
if __name__ == '__main__':
    menu_dic = {}
    shopping_dic = {}
    shopping()
    print_shopping_list(shopping_dic)

  购物车3:

#!/usr/bin/env python 
# _*_ encoding:utf-8 _*_
# author:snate
import time
# 将商品列表从文件中读出,并写入字典
def ReadProductDic():
    with open('Product_List.txt', 'r', encoding="utf-8") as f:
        for line in f.readlines():
            Product_Info = line.strip("\n").split(" ")
            # Index = int(Product_Info[0])
            Product_Name = Product_Info[1]
            Product_Price = Product_Info[2]
            Product_List[Product_Name] = int(Product_Price)
# 将购买的商品以及商品的数量写入到文件中
def WriteShoppingProductFile(Shopping_Chart):
    with open('Shopping_list.txt', 'a', encoding="utf-8") as f:
        for index,Proudct_Name in enumerate(Shopping_Chart):
            Product_Str=""
            index = str(index)
            Prduct_Num = str(Shopping_Chart[Product_Name])
            Product_Str= Product_Str+index + " " + Product_Name + " "+ Prduct_Num
            f.writelines(Product_Str+"\n")
# 退出系统
def Exit_System():
    for i in  range(3):
        print('''\n\t\t谢谢使用电子购物商城,\033[34;1m%s\033[0m秒后,退出系统!''' %(3-i))
        time.sleep(1)
    exit()
# 判断是否需要继续
def BreakFlag():
    while True:
        Break_Flag = input('''\t\t您是否要继续?(y/n)''')
        if  Break_Flag =="y" or Break_Flag == "n":
            return Break_Flag
        else:
            print("您的输入有误,请重新输入")
# 遍历 商品字典 输入商品编号,商品的名称 商品的价格
def ThroughProductDic(Product_list):
    for index, Product in enumerate(Product_list):
        Dic_key[index] = Product
        print(index,Product,Product_List[Product])
#   遍历购物车字典,打印序号、商品名称、商品的单价、商品的数量
def ThroughShoppingDic(Shopping_Chart):
    for index,name in enumerate(Shopping_Chart):
        Dic_key[index] = name
        print('''\n\t\t%s\t\t%s\t\t%s\t\t%s\t\t''' %(index,name,Product_List[name],Shopping_Chart[name]))
Dic_key = {}
Shopping_Chart = {}  # 保存购买的商品
# 商品列表
Product_List={}
ReadProductDic()
# 判断工资标准
name=input('请输入您的用户名:')
print('''\n\t\t\t\t\033[31;5m欢迎%s来到电子商城\033[0m''' %name)
with open("user.txt",'r+',encoding='utf-8') as f:
    count = f.readlines().count(name)
    cnt = 0
    for line in f.readlines():
        line = line.strip("\n").split(" ")
        # 文件中可能存在多个用户的余额信息,选取最后的余额
        if name == line[1]:
            cnt += 1
            if cnt == count:
                balance = line[2]
                break
    else:
        Balance = input("请输入您的工资:")
        Balance = int(Balance)
while True:
    Break_Flag =''
    print('''\n\t请选择您需要进行的操作:\n\t\t\t\t1.购物\n\t\t\t\t2.查看并修改购物车\n\t\t\t\t3.结账并退出''')
    # 用来确定用户的选择
    while True:
        choose = input('''\n\t请输入您的选择''')
        if choose.isdigit():
            choose = int(choose)
            if choose >=4 or choose <= 0:
                print('''\n\t\t您的输入有误,请重新输入,谢谢!''')
            else:
                break
        elif choose == "q":
            print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
            ThroughShoppingDic(Shopping_Chart)
            WriteShoppingProductFile(Shopping_Chart)
            print('''您的余额为:%s''' % Balance)
            Exit_System()
        else:
            print("invalid option")
    # 用户的选择为1,购物
    if choose == 1:
        while Break_Flag != 'n':
            ThroughProductDic(Product_List)
            User_Choose = input('''\t\t请输入您要购买的商品的编号:''')
            if User_Choose.isdigit():
                User_Choose = int(User_Choose)
                if User_Choose >=0 and User_Choose<len(Dic_key):
                    Product_Name = Dic_key[User_Choose]
                    if Product_List[Product_Name]< Balance:
                        Balance -= Product_List[Product_Name]
                        print('''\t\t将商品\033[31;1m[%s]\033[0m加入到购物车!''' %Product_Name)
                        # 判断商品是否在购物车中,如果在购物车中的数量加1,若果不在购物车中,
                        if Product_Name in Shopping_Chart:
                            Shopping_Chart[Product_Name] += 1
                        else:
                            Shopping_Chart[Product_Name] =1
                    else:
                        print('''\t\t您的余额不足,请重新输入!''')
                else:
                    print('''\t\t您输入的编号为\033[31;1m%s]\033[0m不存在'''% User_Choose)
            elif User_Choose == 'q':
                print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
                ThroughShoppingDic(Shopping_Chart)
                WriteShoppingProductFile(Shopping_Chart)
                print('''您的余额为:%s''' % Balance)
                with open("user.txt", 'r+', encoding='utf-8') as f:
                    User_Info = name+ ""+str(Balance)
                    f.writelines(User_Info+"\n")
                Exit_System()
            else:
                print("invalid option")
            Break_Flag = BreakFlag()

    elif  choose == 2:
        while True:
            ThroughShoppingDic(Shopping_Chart)
            Shopping_Chart_Choose = input('''\t\t1.增加\n\t\t2.删除\n\t\t3.结账并退出\n\t\t4.返回\n\t\t请输入您的选择:''')
            if Shopping_Chart_Choose.isdigit():
                Shopping_Chart_Choose = int(Shopping_Chart_Choose)
                if Shopping_Chart_Choose<=0 or Shopping_Chart_Choose >= 5:
                    print('''您输入编号为[%s]的操作不存在,请您重新输入!''' % Shopping_Chart_Choose)
                else:
                    break
            elif  Shopping_Chart_Choose=="q":
                print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
                ThroughShoppingDic(Shopping_Chart)
                WriteShoppingProductFile(Shopping_Chart)
                print('''您的余额为:%s''' % Balance)
                with open("user.txt", 'r+', encoding='utf-8') as f:

                    User_Info = name + "" + str(Balance)
                    f.writelines(User_Info + "\n")
                Exit_System()
            else:
                print("您的输入有误,请重新输入")
        if Shopping_Chart_Choose == 1:
            while  Break_Flag != 'n':
                ThroughShoppingDic(Shopping_Chart)
                Add_Shoppping_Index = input('''\n\t\t请输入您要增加商品的编号:''')
                if Add_Shoppping_Index.isdigit():
                    Add_Shoppping_Index = int(Add_Shoppping_Index)
                    if Add_Shoppping_Index>= 0 and Add_Shoppping_Index<len(Shopping_Chart):
                        Add_Product_Name = Dic_key[Add_Shoppping_Index]
                        while Break_Flag != 'n':
                            Add_Product_Num = input('''\t\t请输入您要增加的商品数量:''')
                            if Add_Product_Num.isdigit():
                                Add_Product_Num = int(Add_Product_Num)
                                if Balance >= Product_List[Add_Product_Name]*Add_Product_Num:
                                    Shopping_Chart[Add_Product_Name] += Add_Product_Num
                                    Balance -= Product_List[Add_Product_Name]*Add_Product_Num
                                else:
                                    print('''\t\t您的余额不足!''')
                            elif Add_Product_Num == "q":
                                print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
                                ThroughShoppingDic(Shopping_Chart)
                                WriteShoppingProductFile(Shopping_Chart)
                                print('''您的余额为:%s''' % Balance)
                                Exit_System()
                            else:
                                print('invalid option')
                            Break_Flag = BreakFlag()
                    else:
                        print('''您输入编号为[%s]的操作不存在!''' % Shopping_Chart_Choose)
                elif Add_Shoppping_Index == 'q':
                    print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
                    ThroughShoppingDic(Shopping_Chart)
                    WriteShoppingProductFile(Shopping_Chart)
                    print('''您的余额为:%s''' % Balance)
                    with open("user.txt", 'r+', encoding='utf-8') as f:
                        User_Info = name + "" + str(Balance)
                        f.writelines(User_Info + "\n")
                    Exit_System()
                else:
                    print("invalid option")
                Break_Flag = BreakFlag()
        elif Shopping_Chart_Choose==2:
            while Break_Flag != 'n':
                ThroughShoppingDic(Shopping_Chart)
                Del_Shoppping_Index = input('''\n\t\t请输入您要删除商品的编号:''')
                if Del_Shoppping_Index.isdigit():
                    Del_Shoppping_Index = int(Del_Shoppping_Index)
                    if Del_Shoppping_Index >= 0 and Del_Shoppping_Index < len(Shopping_Chart):
                        Del_Product_Name = Dic_key[Del_Shoppping_Index]
                        while Break_Flag != 'n':
                            Del_Product_Num = input('''\t\t请输入您要增加的商品数量:''')
                            if Del_Product_Num.isdigit():
                                Del_Product_Num = int(Del_Product_Num)
                                if Del_Product_Num>=0 and Del_Product_Num<=Shopping_Chart[Del_Product_Name]:
                                    Balance += Product_List[Del_Product_Name]*Del_Product_Num
                                else:
                                    print('''\t\t您输入的商品数量有误,请重新输入!''')
                            elif Add_Product_Num == "q":
                                print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
                                ThroughShoppingDic(Shopping_Chart)
                                WriteShoppingProductFile(Shopping_Chart)
                                print('''您的余额为:%s''' % Balance)
                                with open("user.txt", 'r+', encoding='utf-8') as f:
                                    User_Info = name + "" + str(Balance)
                                    f.writelines(User_Info + "\n")
                                Exit_System()
                            else:
                                print('invalid option')
                            Break_Flag = BreakFlag()
                    else:
                        print('''您输入编号为[%s]的操作不存在!''' % Shopping_Chart_Choose)
                elif Add_Shoppping_Index == 'q':
                    print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
                    ThroughShoppingDic(Shopping_Chart)
                    WriteShoppingProductFile(Shopping_Chart)
                    print('''您的余额为:%s''' % Balance)
                    with open("user.txt", 'r+', encoding='utf-8') as f:
                        User_Info = name + "" + str(Balance)
                        f.writelines(User_Info + "\n")
                else:
                    print("invalid option")
                Break_Flag = Break_Flag
        elif Shopping_Chart_Choose==3:
            print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
            ThroughShoppingDic(Shopping_Chart)
            Exit_System()
        else:
            continue
    else:
        print('''\n\t\t序号\t\tname\t\tprice\t\tnum\t\t''')
        ThroughShoppingDic(Shopping_Chart)
        WriteShoppingProductFile(Shopping_Chart)
        print('''您的余额为:%s''' %Balance)
        with open("user.txt", 'r+', encoding='utf-8') as f:
            User_Info = name + "" + str(Balance)
            f.writelines(User_Info + "\n")
        Exit_System()

管理员程序:

#!/usr/bin/env python 
# _*_ encoding:utf-8 _*_
# author:snate
# 将商品列表从文件中读出,并写入字典
def ReadProductDic():
    with open('Product_List.txt', 'r', encoding="utf-8") as f:
        for line in f:
            Product_Info = line.strip("\n").split(" ")
            Index = int(Product_Info[0])
            Product_Name = Product_Info[1]
            Product_Price = Product_Info[2]
            Product_List[Product_Name] = int(Product_Price)
            print(Index,Product_Name,Product_List[Product_Name])
def WriteShoppingProductFile(Product_List):
    with open('Product_List', 'w', encoding="utf-8") as f:
        for index,Product_Name in enumerate(Product_List):
            index = str(index)
            Product_Price= str(Product_List[Product_Name])
            Product_Str=index+" "+ Product_Name + " " + Product_Price
            f.writelines(Product_Str+"\n")

if __name__ == '__main__':
    Product_List = {}
    ReadProductDic()
    Modify_Product_Name = input("请输入要修改价格的商品:")
    Modify_Product_Price = input("请输入要修改的价格:")
    if  Modify_Product_Name in Product_List:
        if Modify_Product_Price.isdigit():
            Modify_Product_Price = int(Modify_Product_Price)
            Product_List[Modify_Product_Name] = Modify_Product_Price
    else:
        Product_List[Modify_Product_Name] = Modify_Product_Price
    WriteShoppingProductFile(Product_List)

  流程图:

 字符串

name = "Nihaonihaoxlwpxxa"
print(name.capitalize())  # 首字母大写
print(name.count("nihao"))  # 统计某个字符或者字符串出现的次数
print('''My name is :{name},my age is {age}'''.format(name="gxw",age=26))  # 标准化输出
print(name.isalnum())  # 是否为阿拉伯数字
print(name.isalpha())  # 是否全为纯英文字母
print(name.isdigit())  # name是否为整数
print(name.istitle())  # 判断首字母是否大写
print(name.islower())  # 判断是否全为小写
print(name.isupper())  # 判断是否全为大写?
print(name.strip())  # 去掉 name中的空格和回车
print(name.strip().split())  # 去掉空格后,再空格分隔,返回列表
print(name.startswith("N"))  # 是否以N开头
# print("+".join([1,2]))   # t
print(" ".join(["nihao","wohenhao"])) # 备注:可以将列表转化成字符串,但是列表的元素必须为字符或者是字符串,否则会报错!
p=str.maketrans("abcd","123$") # 生成字典 a:1 b:2  c:3 d:$
print(p)
print(name.swapcase())  # 小写变大写
print(name.split()) # 以空格为单位,将字符串分隔

 字典

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型

#!/usr/bin/env python 
# _*_ encoding:utf-8 _*_

Product_List={"iPad":3500,
              "Kindle":1699,
              "MI Pad":1499,
              "IMAC":20000,
              "MP3":200
              }
# 遍历1
for  index ,Product in enumerate(Product_List):
    print(index,Product)
# 遍历2
for product in Product_List:
    print(product,Product_List[product])
# 遍历3
for k,v in Product_list.item():
   print(k,v)


info.setdefault("stu1104","alex")
print(info)
keys = info.keys()
print(keys)
print(info.keys())
print(info.values())
更新
b = {1:2,3:4, "stu1102":"龙泽萝拉"}
print(info.update(b))
# 增
info["stu1104"] = "wo hen bu hao"
# 改
info["stu1101"] = "nihao"
print(info)
#删
del info["stu1101"]
info.pop("stu1101")
print(info)
#查
print("stu1101" in info)
print("stu1102" in info)
print(info.get("stu1102"))  
print(info.get("stu1105"))
print(info["stu1105"]) # #如果一个key不存在,就报错,get不会,不存在只返回None
av_catalog = {
    "欧美":{
        "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
        "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
        "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
        "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
    },
    "日韩":{
        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
    },
    "大陆":{
        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
    }
}

av_catalog["大陆"]["1024"][1] = ",可以用爬虫爬下来"
print(av_catalog["大陆"]["1024"])