组合数据类型
集合类型:无序,唯一,集合类型
序列类型:向量,有序,字符串类型和列表类型,元组类型
映射类型:键-值,字典类型
集合类型
0或多个数据项的无序组合
{}表示,无索引,动态
不可重复,使用集合去重
静态数据类型放入,整数、浮点、字符串、元组
s = {'10', 100, 100}
print(s)
# {'10', 100}
操作符:差-,交&,并|,补^
操作函数:
s.add(x)
s.remove(x)
s.clear()
len(s)
使用for遍历
s = {10, 100, 1000}
for i in s:
print(i)
序列类型
元素向量,通过序号访问
位置不同,可有相同元素
‘abc’, [a,b,c], ()
操作符和函数:
+
*
切片
索引
s.index(x) 第一次出现x的位置
s.count(x) x的次数
使用for遍历
s = [10, 10, 20]
for i in s:
print(s)
映射类型
键-值 无序
映射类型是序列类型的扩展,索引使用键来代替
列表类型
序列类型,添加,删除,查找,索引
[],list[]将集合和字符串变为列表
s[1:5:2] 步长切片
列表类型的操作函数:
s.append() 结尾添加一个元素,+添加多个
s.insert(i,x) i处添加
s.clear() 清空
s.pop(i) 取出i处元素
s.remove() 第一个x删除
s.reverse() 列表翻转
s.copy() 副本
del s[:]
列表的=不能赋值,关联引用,两个指向同一内容
lt = ['10','20']
ls = lt
lt.clear()
print(ls)
# []
使用索引修改元素
字典类型
键值对,映射,字典类型
{<键>:<值>,}
无序,不重复
字典索引使用:字典[键]
字典类型的操作
通用操作函数
s.keys() 返回键,dict_keys
s.values() 返回值,dict_values
s.items() 返回键值对,dict_items
s.get(key,default) 键存在返回对应值,不存在返回默认值
s.pop(key,default) 键存在返回值且删除,不存在返回默认
s.popitem() 随机取出键值,返回元组,删除
s.clear()
del
in
使用for来遍历
d = {'a':1, 'b':2, 'c':3}
for i in d:
print(i)
文本词频统计
def gettxt():
txt = open('hmlt.txt', 'r').read()
txt = txt.lower()
for ch in ',.?!':
txt = txt.replace(ch, ' ')
return txt
hmlttxt = gettxt()
words = hmlttxt.split()
counts = {}
for word in words:
counts[word] = counts.get(word, 0) + 1
items = list(counts.items())
items.sort(key = lambda x:x[1], reverse=True) #指定第二个元素排序
for i in range(10):
word, count = items[i]
print('{0:<10}{1:>5}'.format(word, count))