1. 基本数据类型
(1) list 列表
(2) tuple 元组
(3) dict 字典
(4) set 集合
2. list 列表方法
Python 内置的一种数据类型,list是一种有序的集合,可以随时添加删除其中的元素。
( 1 ) append(self, p_object)
原列表后追加内容
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list1.append('good') print(list1) # 执行结果: # ['a', 'b', 'c', 'd', 1, 2, 3, 'good']
(2)clear()
清空列表所有元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list1.clear() print(list1) # 执行结果: # []
(3)copy()
列表拷贝(浅拷贝)
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list2 = list1.copy() print(list2) # 执行结果: # ['a', 'b', 'c', 'd', 1, 2, 3]
(4)count(self, value)
计算 value 出现的次数
list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3] print(list1.count('hkey')) # 执行结果: # 2
(5)extend(self,iterable)
将可迭代对象通过for循环添加到当前列表中。
iterable:可迭代对象,能用于 for 循环的数据都是可迭代对象
list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3] list2 = ['hello', 'world'] list1.extend(list2) print(list1) # 执行结果: # ['hkey', 'b', 'c', 'hkey', 1, 2, 3, 'hello', 'world']
extend 和 append 进行比较:
extend是通过 for 循环把可迭代对象,一个一个append添加到当前列表的
append是将元素一次性的全部追加到元素末尾
(6)index(self, value, start=None, stop=None)
获取元素的索引位置
list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3] print(list1.index('hkey')) # 从左到右查找元素,第一个出现的位置 # 执行结果: # 0
(7)insert(self, index, p_object)
通过索引插入元素到列表对应位置
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list1.insert(1, 'hello') print(list1) # 执行结果: # ['a', 'hello', 'b', 'c', 'd', 1, 2, 3]
(8)pop(self, index=None)
删除列表对应索引的元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list1.pop(2) print(list1) # 执行结果: # ['a', 'b', 'd', 1, 2, 3]
(9)remove(self, value)
删除列表中对应的元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list1.remove('c') print(list1) # 执行结果: # ['a', 'b', 'd', 1, 2, 3]
(10)reverse
反转列表元素
list1 = ['a', 'b', 'c', 'd', 1, 2, 3] list1.reverse() print(list1) # 执行结果: # [3, 2, 1, 'd', 'c', 'b', 'a']
(11)sort(self, key=None, reverse=False)
列表中全部为数字或者字符串的时候,进行排序
list1 = [1, 3, 2] list2 = ['d', 'z', 'a'] list1.sort() list2.sort() print('list1:', list1) print('list2:', list2) # 执行结果: # list1: [1, 2, 3] # list2: ['a', 'd', 'z']
3. tuple(元组)
元组也是有序序列,但是tuple一旦初始化就不能修改。
元组示例:(1, 2, 3, 'a', 'b', 'c'),元组只有 2 个方法
(1)count
计算 value 出现的次数
list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd') list2 = list1.count('d') print(list2) # 执行结果: # 2
(2)index
获取元素的索引位置
list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd') print(list1.index('c')) # 执行结果: # 2
4. dict 字典
Python 内置字典类型,使用 键 - 值(key-value)存储,具有极快的查找速度。
(1)clear()
清空所有字典数据
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} dict1.clear() print(dict1) # 执行结果: # {}
(2)copy()
拷贝字典所有数据
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} dict2 = dict1.copy() print(dict2) # 执行结果: # {'age': 20, 'gender': '男', 'name': 'hkey'}
(3)fromkeys(*args,**kwargs)
args作为key依次循环,kwargs作为每个key的值
fromkeys 是 dict 类的静态方法,调用:dict.fromkeys
dict2 = dict.fromkeys(['a', 'b', 'c'], ['hello', 'world']) print(dict2) # 执行结果: # {'a': ['hello', 'world'], 'c': ['hello', 'world'], 'b': ['hello', 'world']}
(4)get(self, k, d=None)
通过 key 获取字典中对应的 value
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} print(dict1.get('age')) # 如果 get 没有找到对应的 key 则返回 None # 执行结果: # 20
(5)items
分别获取字典的 key 和 value
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} for k, v in dict1.items(): print(k, v) # 执行结果: # age 20 # gender 男 # name hkey
(6)keys
获取字典中所有的 key
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} for k in dict1.keys(): print(k) # 执行结果: # gender # age # name
(7)values
获取字典中所有的 value
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} for v in dict1.values(): print(v) # 执行结果: # 20 # 男 # hkey
(8)pop(self, k, d=None)
删除 key 对应的 键值对
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} dict1.pop('name') print(dict1) # 执行结果: # {'age': 20, 'gender': '男'}
(9)popitem
随机删除字典中的键值对
通过变量可以获取被删除的键值对
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} dict2 = dict1.popitem() print('随机删除后的dict1', dict1) print('获取随机删除的键值对:', dict2) # 执行结果: # 随机删除后的dict1 {'gender': '男', 'name': 'hkey'} # 获取随机删除的键值对:('age',20)
(10)setdefault(self, k, d=None)
已存在,不设置,获取当前key对应的值
不存在,设置,获取当前key对应的值
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} d1 = dict1.setdefault('name1', 'xiaofei') print(d1) # 执行结果: # xiaofei
(11)update(self ,E=None, **F)
修改字典中对应的键值对
dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'} dict1.update({'name': 'xiaofei'}) dict1.update(age=19) print(dict1) # 执行结果: # {'gender': '男', 'age': 19, 'name': 'xiaofei'}
总结:
字典有以下几个特点:
(1)字典的 value 可以是任何值
(2)布尔值(1, 0)、列表、字典不能作为字典的key
(3)字典是无序的
(4)字典支持 del 删除