主要内容
一、元组1.元组2.字典3.字符串
元组其实就是只读的列表,元组内的数据不可修改。元组的意义在于,它可以在映射(和集合的成员)中当做键使用,但是列表不可以。元组作为很多内建函数和方法的返回值存在
tup = (1,2,3,4) print(tup[0:2]) #结果 (1, 2) print(tup[1:2]) #结果 (2,) tup2 = (1,[10,20,30],3,4) print(tup2) #结果 (1, [10, 20, 30], 3, 4)
product_list = [ ('name1',2000), ('name2',3000), ('name3',4000), ('name4',5000) ] for i in enumerate(product_list,1): print(i) ''' enumerate(product_list) enumerate(product_list,1) (0, ('name1', 2000)) (1, ('name1', 2000)) (1, ('name2', 3000)) (2, ('name2', 3000)) (2, ('name3', 4000)) (3, ('name3', 4000)) (3, ('name4', 5000)) (4, ('name4', 5000)) '''
for i , v in enumerate(product_list,1): print(i,'>>>',v) ''' 1 >>> ('name1', 2000) 2 >>> ('name2', 3000) 3 >>> ('name3', 4000) 4 >>> ('name4', 5000) '''二、字典
三、字符串字典是python中唯一的映射类型,使用键值对(key-value)的形式来存储数据的。字典是无序存储的,且 key必须是不可变类型的。列表是有序的对象集合。
dic1 = {"name":"Bosh","password":"1234","hobby":{"girl_name":"花花","weight":120}} ###增 dic1["age"] = 20 print(dic1) #结果 {'name': 'Bosh', 'password': '1234', 'hobby': {'girl_name': '花花', 'weight': 120}, 'age': 20} result = dic1.setdefault("isMale","True") #键存在,不改动,返回字典中相应的键对应的值;键不存在,在字典中增加新的键值对,并返回相应的值 print(result) #结果 True print(dic1) #结果 {'name': 'Bosh', 'password': '1234', 'hobby': {'girl_name': '花花', 'weight': 120}, 'age': 20, 'isMale': 'True'} ###查 print(dic1['name']) #print(dic1.get("name")) #结果 Bosh print(dic1["hobby"]["girl_name"])#print(dic1["hobby"].get("girl_name")) #结果 花花 print(dic1.keys()) #结果 dict_keys(['name', 'password', 'hobby', 'age', 'isMale']),返回一个dict_items print(list(dic1.keys())) #结果 ['name', 'password', 'hobby', 'age', 'isMale'],返回一个列表 print(dic1.values()) #结果 dict_values(['Bosh', '1234', {'girl_name': '花花', 'weight': 120}, 20, 'True']) print(dic1.items()) #结果 dict_items([('name', 'Bosh'), ('password', '1234'), ('hobby', {'girl_name': '花花', 'weight': 120}), ('age', 20), ('isMale', 'True')]) ###改 dic3 = {"name":"Bosh","age":20} dic3["name"] = "Hello" dic4 = {"age":50,"hobby":"football"} dic3.update(dic4) print(dic3) #结果 {'name': 'Hello', 'age': 50, 'hobby': 'football'} ###删 dic5 = {'name': 'Hello', 'age': 50, 'hobby': 'football'} result = dic5.pop("age") print("result",result,",dic5=",dic5) #结果 result 50 ,dic5= {'name': 'Hello', 'hobby': 'football'} result2 = dic5.popitem() #随机删除一组键值对 del dic5["name"] print(dic5) #结果 {'age': 50, 'hobby': 'football'} dic5.clear() print(dic5) #结果 {} ###其他 dic2 = dict((("name","Bosh22"),)) print(dic2) #结果 {'name': 'Bosh22'} dic6 = dict.fromkeys(["name1","name2","name3"],"value") print(dic6) #结果 {'name1': 'value', 'name2': 'value', 'name3': 'value'} dic6 = dict.fromkeys(["name1","name2","name3"],["value1","value2"]) print(dic6) #结果 {'name1': ['value1', 'value2'], 'name2': ['value1', 'value2'], 'name3': ['value1', 'value2']} ###嵌套 dic7 ={ "中国":{ "内蒙古":["呼和浩特","鄂尔多斯","呼伦贝尔"], "黑龙江":{"哈尔滨":"双城", "齐齐哈尔":{"龙沙","建华","铁锋"}, "牡丹江":{"东安","阳明","绥芬河"}, "佳木斯":["前进","向阳","东风"] } }, "America":{ "Alaska","California","Florida","Ohio","Pennsylvania" }, "Россия":{ " Čelabinsk","Omsk","Krasnojarsk","Čelabinsk" } } print(dic7["中国"]["黑龙江"]["齐齐哈尔"]) #结果 {'龙沙', '建华', '铁锋'} ###遍历 dic8 = {'name': 'Hello', 'age': 50} for i in dic8 : print(i,dic8[i]) for i,v in dic8.items(): print(i,v)
字符串是以单引号或双引号括起来的任意文本。
#常用操作 print("Hello" * 2) #结果 HelloHello print("HelloWorld"[2:5]) #结果 llo,类似于列表的切片操作 print("llo" in "Hello") #结果 True,判断字符串中是否包含指定的字符 user = "admin" print("Hello %s" % user) #结果 格式字符串,结果是动态的 print("Hello" + "World" +"!!!") #拼接字符串,效率低 print(''.join(["Hello","World","??"])) #使用join拼接字符串 #常见方法 str1 = "Hello Python" print(str1.capitalize()) #结果 Hello python,首字母大写 print(str1.center(20,"*"))#用相应字符使字符串居中 print(str1.count("o")) #统计字符出现的次数 print(str1.endswith("on"))#判断字符串是否以某个字符结束 print(str1.startswith("on"))#判断字符串是否以某个字符开始 str2 = "Hello Py\tthon" print(str2.expandtabs(tabsize=8)) #结果 Hello Py thon,根据\t来设定tabsize个空格 print(str1.find("o"))#查找某个字符在字符串中第一次出现的位置并将索引值返回,从0开始 str3 = "Hello Python {user} {sex} {age}" print(str3.format(sex = "女",age = 20,user = "admin"))#格式字符串,%s、%d print(str3.format_map({"age":50,"sex":"男","user":"root"})) print(str1.index("o"))#类似find,如果字符不在字符串中,index会报错,find不会报错 print("123.999".isdigit()) #结果 False,判断字符是否为数字型,为整数返回True print(str1.lower())#字母全改为小写 print(str1.upper())#字母全改为大写 print(str1.swapcase())#字母大小写互换 print(str1.ljust(20,"*"))# Hello Python******** print(" Hello Python ".strip())#默认去掉首尾空格 print("HHHHHHhelloWorldHHHHH".strip("H"))#helloWorld print("Hello Python Python".replace("Python","World",1))#Hello World Python,替换 print("Hello Python Python".split(" ",1))#['Hello', 'Python Python'],以指定字符把字符串分割成列表