基本数据类型及内置方法(二)
一、列表的内置方法
- count:统计当前列表内的指定元素的个数
s1 = ['y', 'a', 'f', 'e', 'n', 'g', '6', '6', '6'] s1.count('6') print(s1.count('6')) >>>3
- index:获取当前元素的索引,可指定查找范围
s1 = ['y', 'a', 'f', 'e', 'n', 'g', '6', '6', '6'] s1.index('6') print(s1.index('6')) >>>6 s1.index("6", 7) print(s1.index("6", 7)) >>>7
- sort:排序,默认reverse=False,也就是升序排序
s1 = [1, 2, 5, 6, 7, 8, 9] s1.sort() print(s1) >>>[1, 2, 5, 6, 7, 8, 9] s1 = [1, 2, 5, 6, 7, 8, 9] s1.sort(reverse=True) print(s1) >>>[9, 8, 7, 6, 5, 2, 1]
- sorted:python内置的排序,,在排序时生产一个新列表,原数据不变
s1 = [1, 2, 5, 6, 7, 8, 9] a = sorted(s1) print(a) >>>[1, 2, 5, 6, 7, 8, 9] s1 = [1, 2, 5, 6, 7, 8, 9] a = sorted(s1, reverse=True) print(a) >>>[9, 8, 7, 6, 5, 2, 1]
- clear:清除列表中的的所有数据
s1 = [1, 2, 5, 6, 7, 8, 9] s1.clear() print(s1) >>>[]
- 队列与堆栈
''' 队列:先进先出 l1 = [] l1.append(1) l1.append(2) l1.append(3) print(l1) >>>[1,2,3] l1.pop[0] print(l1) >>>[2,3] l1.pop[0] print(l1) >>>[3] l1.pop[0] print(l1) >>>[] 堆栈: 先进后出 l1 = [] l1.append(1) l1.append(2) l1.append(3) print(l1) >>>[1,2,3] l1.pop() print(l1) >>>[1,2] l1.pop() print(l1) >>>[1] l1.pop() print(l1) >>>[] '''
小结
列表是可以存多个值,有序(有索引就有序),可变
二、元祖
- 定义及用法
# 用途:存储多个不同类型的值(不能存可变类型) # 定义方式:用过小括号存储数据,数据与数据之间通过逗号分隔,(值不能被改变) # 定义容器类型的时候,如果里面只有一个值,在值的后面加上一个逗号(很重要) # 在元组中如果不加,就是字符串
- 常用方法
""" 1、索引取值(正取,反取) 2、索引切片 3、成员运算in ,not in 4、len() """ 1、索引取值 t1 = ('y', 'a', 'f', 'e', 'n', 'g') print(t1[1]) >>>a t1 = ('y', 'a', 'f', 'e', 'n', 'g') print(t1[-2]) >>>n 2、索引切片 t1 = ('y', 'a', 'f', 'e', 'n', 'g') print(t1[2:]) >>>('f', 'e', 'n', 'g') 3、成员运算 t1 = ('y', 'a', 'f', 'e', 'n', 'g') print('a' in t1) >>>True 4、len() t1 = ('y', 'a', 'f', 'e', 'n', 'g') print(len(t1)) >>>6
小结
有序,可存多个值,不可变
三、字典
- 定义及定义方式
定义方式:通过大括号来存储数据,通过key:value来定义键值对数据,每个键值对中间通过逗号分隔 key:一定是一个不可变类型 value:可以是任意类型 三种定义方式: 1、重要 d1 = { 'name': 'yafeng', 'age': '18', 'hobby': 'study' } print(d1) >>>{'name': 'yafeng', 'age': '18', 'hobby': 'study'} 2、重要 d2 = dict({'name': 'yafeng', 'age': '18', 'hobby': 'study'}) print(d2) >>>{'name': 'yafeng', 'age': '18', 'hobby': 'study'} 3、了解即可 l1 = ['name', "age", "hobby"] l2 = ['yafeng', 18, "study"] z1 = zip(l1, l2) print(dict(z1)) >>>{'name': 'yafeng', 'age': 18, 'hobby': 'study'}
- 优先掌握的方法
""" 1、优先掌握的: 1、按照key:value映射关系取值(可存可取) 2、成员运算in,not in # 默认判断key 3、len() # 获取当前字典中键值对的个数 """
- 内置方法get
get:获取指定key的值,如果值不存在,默认返回None,可以通过第二个参数修改默认返回的内容 d1 = { 'name': 'yafeng', 'age': '18', 'hobby': 'study' } print(d1.get('name')) >>>yafeng
- keys、values、items
keys返回所有的key values返回所有的值 items返回所有的键值对,返回值是列表 d1 = { 'name': 'yafeng', 'age': '18', 'hobby': 'study' } for key in d1.keys(): print(key) for value in d1.values(): print(value) for key, value in d1.items(): print(key, value) key, value = ("name", 'age') >>>name age hobby yafeng 18 study name yafeng age 18 jhobby study
- pop
pop指定key进行删除,有返回值,返回为对应的value a = d1.pop('age') print(d1) print(a) >>>{'name': 'yafeng', 'hobby': 'study'} >>>18
- popitem
随机弹出一个键值对,有返回值,返回是一个元祖 d1.popitem() print(d1) >>>{'name': 'yafeng', 'age': '18'}
- update
用新字典替换旧字典 d1.update({'gender': 'male'}) print(d1) >>>{'name': 'yafeng', 'age': '18', 'hobby': 'study', 'gender': 'male'}
- fromkeys
生产一个新字典,以第一个参数(可迭代对象)中的各个元素为key,以第二个参数为值,组成一个新的字典 print(dict.fromkeys([1, 2, 3], ['ke', 'k1'])) >>>{1: ['ke', 'k1'], 2: ['ke', 'k1'], 3: ['ke', 'k1']}
- setdefault
key不存在就新增键值对,有返回值,返回新增value,key存在返回对应的value print(d1.setdefault('height', '1.77')) print(d1) >>>1.77 >>>{'name': 'yafeng', 'age': '18', 'hobby': 'study', 'height': '1.77'}
四、集合
# 用途: 去重、关系运算 # 定义方式: 通过大括号存储数据,每个元素通过逗号分隔 # 定义空集合,必须使用set()来定义 # l1 = [] # s1 = "" # d1 = {} # ss1 = set() # 常用方法: """ 合集:| 交集:& 差集:- 对称差集:^ """ """ 1、集合中不可能出现两个相同的元素 """ python_student = {'egon', 'jason', 'tank', 'owen', 'egon'} linux_student = {'frank', 'alex', 'egon'} go_student = {'egon'} print(python_student) # print(python_student | linux_student) # print(python_student & linux_student) # print(python_student - linux_student) # print(linux_student - python_student) # print(python_student ^ linux_student) # print(python_student > go_student) # print(python_student < linux_student) # l1 = [1, 2, 3, 1, 2, 9, 1, 5, 6, 7] # print(l1) # # s1 = set(l1) # print(s1) # print(type(s1)) # l2 = list(s1) # print(l2) # print(type(l2)) for i in python_student: print(i)
小结
无序,可变,存多个值
五、总结
""" 存一个:整型、浮点型、字符串 存多个值:列表、元组、字典、集合 可变or不可变: 可变:;列表,字典,集合 不可变:整型、浮点型、字符串、元组 有序or无序: 有序:字符串、列表、元组 无序:字典、集合 占用空间: 字典 列表 元组 集合 字符串 数字类型 """