Day12作业讲解
''' 1.定义一个电话簿,里头设置以下联系人: 'mayun':'13309283335', 'zhaolong':'18989227822', 'zhangmin':'13382398921', 'Gorge':'19833824743', 'Jordan':'18807317878', 'Curry':'15093488129', 'Wade':'19282937665' 现在输入人名,查询他的号码,如果人名存在,则输出电话号码,如果该人不存在,返回"not found" ''' ''' # 方式一 info_dict = { 'mayun':'13309283335', 'zhaolong':'18989227822', 'zhangmin':'13382398921', 'Gorge':'19833824743', 'Jordan':'18807317878', 'Curry':'15093488129', 'Wade':'19282937665' } name = input('请输入需要查询的人名:') # if name in info_dict.keys(): # 正确,但是没必要 if name in info_dict: # 简化写法 print(info_dict[name]) else: print('not found') # 方式二 info_list = [ {'mayun':'13309283335'}, {'zhaolong':'18989227822'}, {'zhangmin':'13382398921'}, {'Gorge':'19833824743'}, {'Jordan':'18807317878'}, {'Curry':'15093488129'}, {'Wade':'19282937665'} ] name = input('请输入需要查询的人名:') for dic in info_list: if name in dic: print(dic[name]) break else: print('not found') ''' # 2.已知列表numlist = [23,5,56,7,78,89,12,45,6,8,89,100,99], # 生成一个字典,将大于66的数字保存在字典的第一个key中,将小于等于66的数字保存在字典的第二个key中 numlist = [23,5,56,7,78,89,12,45,6,8,89,100,99] # 方式一 key1 = [] key2 = [] for num in numlist: if num > 66: key1.append(num) else: key2.append(num) dict1 = {'key1':key1,'key2':key2} print(dict1) # 方式二 dict1 = {'key1':[],'key2':[]} for num in numlist: if num > 66: dict1['key1'].append(num) else: dict1['key2'].append(num) print(dict1) # 方式二 dict1 = {'key1':[num for num in numlist if num > 66],'key2':[num for num in numlist if num <= 66]} print(dict1)
一、字符串
由若干个字符组成的一个序列被称为字符串,其中的字符可以是字母,数字,符号,中文等
注意1:字符串属于不可变的数据类型,可以作为字典的key
注意2:字符串也是有序的,所以和列表,元组类似,都是通过索引访问的
注意3:字符串的切片,遍历方式和列表的使用完全相同
1.定义
# 1.基本定义 # 注意:在单个引号中,按照回车进行换行,只是视觉上的折行,而数据原本还是一行 # 字符串的组成:数字,字母,符号,中文都可以出现在字符串中,但凡是要表示成文本的数据,都用字符串表示 # a.单引号 str1 = '23fahj' \ '计算机' \ '&……%' print(str1) # b.双引号 str2 = "23fahj计算机&……%" print(str2) # c.三引号 str3 = '''6463 hrwthw &^^% 中科院''' print(str3) str3 = """6463 hrwthw &^^% 中科院""" print(str3) # 2.将字符串存储在容器中 list1 = ['abc', 'gwg', '4545'] print(list1) list2 = ["abc", "gwg", "4545"] print(list2) # 3.转义字符 ''' /:斜杠 \:反斜杠 ''' # \xx:如果xx是一个普通字符,\xx可能具有特殊含义 # \xx:如果xx是一个特殊字符,\xx会将特殊字符转义为普通字符 # 上述操作并不是对所有字符都起作用 # a.\n ***** # n是一个普通字符,但是\n具有特殊含义,表示换行 s1 = 'abc345n5351' print(s1) s1 = 'abc345\n5351' print(s1) # b.\t ****** # t是一个普通字符,但是\t具有特殊含义,表示制表符tab键 s1 = 'abc345t5351' print(s1) s1 = 'abc345\t5351' print(s1) s1 = 'abc345 5351' print(s1) # c.\r表示回车,\f表示换页 # d.特殊字符---》普通字符 s1 = '\'hello\'' print(s1) s1 = '"hello"' print(s1) s1 = 'abc345\\n5351' print(s1) # e。文件或文件夹路径的表示 # 错误写法 path = 'd:\Desktop\coding\Day13\notes' print(path) # 正确写法 path = 'd:\\Desktop\\coding\\Day13\\notes' print(path) # r'xxxxxx':表示字符串中的符号使用的都是原本的含义,无需依次转义,常用于路径中或者正则表达式中 ****** path = r'd:\Desktop\coding\Day13\notes' print(path)
2.操作
# 1.字符串是有序的,所以可以通过索引访问其中的字符 str1 = 'abcdef' print(str1[0]) print(str1[-1]) # print(str1[7]) # IndexError: string index out of range print(str1[1:3]) print(str1[::-1]) # 将字符串进行反转/逆序 # 2.字符串的遍历 # 标识符:见名知意,使用简单英文单词或者缩写表示 # ch--->character:字符 for ch in str1: print(ch) for