一 字符串
- 成对的一个单引号或双引号(字符串内有相同的引号需加个 \ 作转义)。 
- 成对的三个单引号或双引号,保留字符串的全部格式。 
- 字符串相关函数: 
- 求字符串长度, - len(str)。
- 字符串拼接, - +。- 1 
 2
 3
 4- 例: 
 str1 = "hello"
 str2 = str1 + "world"
 print(str2)
- 字符串重复, - *,如- str2 * 3。
- 成员运算符, - in,判断一个字符串是否是另一个字符串的字串。- 1 
 2
 3- 例: 
 name = "mike"
 print("i" in name) #返回值为 true
- 枚举字符串中每个字符 - 1 
 2- for char in str 
 print(char)
- 字符串索引:字符串中的每个字符都有一个索引值。
 正着从 0 依次加一;或倒着从 -1 依次减一。
- 切片 - [start:finish:countBy]。
 [开始位置:结束位置的下一个值:计数参数],计数参数默认为 1。- str[::-1]则获得原字符串的逆序。
 通过切片来赋给原变量来更改原字符串(不可以直接通过索引更改)。
- 字符替换函数 - str1.replace(old,new)。
- 字符查找函数 - str1.find("x")。
- 字符切分 - str1.split(),无参数则按空格切分 。
- 可以通过 - dir(str)来查看其他方法。
- 字符串比较: 
 根据 ASCII 比较。
- 字符串格式化: 
- str.format(值),如- print("hello {} world".format(you)),会用 you 替换掉 {},输出为- hello you world。
在 {} 内可加格式控制内容:1
2
3
4
5
6print("PI is {:.4f}".format(math.pi)) #输出为四位小数。
{:9.4f}  # 表示为占九个字符,小数部分四位。
{:e}  # 用科学记数法输出。
{数字}  # 用来选定后面的第几个值,相当于索引。
{key}  # 后面传入的类字典形式的键值 .format("name":"Xioali","age":21) 
format 值直接传字典进去在字典前加两个星号;直接传元组进去在元组前加一个星号。(字典或元组类型的对象)
- str %(值1, 值2),如- msg = "%d like playing %d" %(5, "game")- 1 - msg = "i am %(key1)s are %(key2)d" %{"key1":"xiaoli", "key2":21} 
- 正则表达式:
二 列表与元组
1 列表
- lst = [5.2,"hello",2],列表也支持索引操作,与字符串索引相同。
- 列表与字符串相同与不同: 
- 有关列表的方法: 
- 列表赋值: 
- 将一个被赋值的列表,赋给其他值,并不会生成一个新的,而是指向原来的。改成 - b = a[:]则可以重新开辟空间给变量 b。
- 补充:赋值,浅拷贝,深拷贝。参考博文 
 赋值:变量初始化。
 浅拷贝:不管是多么复杂的数据结构,浅拷贝只会拷贝第一层。
 深拷贝:完全复制原变量的所有数据,在内存中生成一套完全一样的内容,我们对这两个变量中的一个进行任意修改都不会影响另一个变量。
- 查找: - lst.index(2)返回第一个查找到值的下标,没有则抛出异常。
- 排序: - sorted() 函数,从小到大排序,不会改变原列表。- lst.sort() 方法,会改变原列表值。
- 嵌套列表: - x = [[2,3,4],[67,5,44]],相当于二维数组。
 例:这里的行直接用一个对象遍历了,只考虑列是哪个。
- 列表解析或推倒: 
- 对列表排序: 
 使用- sort(key,reverse) 函数- 1 
 2
 3
 4
 5
 6
 7- 对列表中学生成绩排序(由姓名和成绩组成): 
 def f(a)
 return a[1]
 students.sort(key = f,reverse = True) #sort() 函数的两个格参数。
 print(students)
2 元组
- 概念: 
- 元组赋值: 
- 函数与元组:返回的 - return max,min为元组。
- DSU 模式: 
 装饰,排序,反装饰。
 例:长单词排前面。
 生成一个新的列表赋值(添加长度信息);排序中间转换;生成新列表赋值(忽略长度信息)。
- lambda 匿名函数:参考博文 - 1 
 2- add = lambda x, y : x+y 
 add(1,2) #结果为3
三 字典与集合
1 字典
- 概念:由键和值组成。 
- 创建访问字典: 
- 字典运算符和方法: 
- 例.用字典统计一个字符串中字符出现次数: - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11- s = "bjhebvjwbvevbek" 
 d = {} #生成一个空字典
 for i in s: #遍历字符串
 if i in d: #判断字符是否在字典中
 d[i] = d[i] + 1 #在字典中,则通过索引对值加一
 else
 d[i] = 1 #不在字典中,则创建索引并赋值为一
 print(d)
- 例.统计文本中单词词频: - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23- f = open("C:\\Users\\XXX\\Desktop\\emma.txt") #注意转义 
 ws = {}
 for line in f:
 words = line.strip().split() #取每行(去掉首尾换行空格)
 for word in words: #遍历每行中的每个字
 if word in ws:
 ws[word] = ws[word] + 1 #字典中按这个字索引将值加一
 else:
 ws[word] = 1
 tj = [] #创建一个列表,将统计出的字典内容转为列表,好排序。
 for word, freq in ws.items(): #遍历字典中的每项
 tj.append((freq, word))
 tj.sort(reverse = True) #对列表排序,升序
 for freq,word in tj[:10]: #输出前十项
 print(freq,word)
 f.close()
2 集合
- 概念,创建添加与删除,集合运算符:
四 有关文件的操作
| 1 | 打开文件: | 
