导图社区 Python
Python基础知识(超详细版)从定义、性质、实际应用等方面详细解读相关知识。每一知识点都附加详细代码举例,逻辑链条清晰,还有丰富的知识点补充,内容详实,阅读一图即可掌握Python知识 关注我获取更多优质导图哦(Python基础知识/高中文言文/高中历史思维导图)
编辑于2023-07-08 10:54:01 北京市Python
list列表
列表:由一系列按特定顺序排列的元素组成的一个有序的序列。
用方括号([])来表示或者生成列表,并用逗号(, )来分隔其中的元素。
其中元素可以是不同类型的数据,列表的长度也不固定。 [" Alice ", " Bob ", " Cindy ", " Dale "," Eric ", 8, True , None ]
应用
索引:索引是从0开始计数的,如果列表中有n个元素, 那么最后一个元素索引为n-1。 Recall: 正向递增索引(0, 1, 2, ...); 反向递减索引(-1,-2, -3, ...)
name = [" alice ", "bob", " cindy ", " dale "," eric "] name [1] Out[27]: 'bob' name [ -2] Out[28]: ' dale '
元素与提取:
list的元素其数据类型可以不同,list的元素也可以是另一个list name = [" alice ", "bob ", " cindy " ,[" dale "," eric "," frank "]," grace "]
提取”eric”: name [3][1]
提取”eric”中的第一个字母’e‘ name [3][1][0]
查找元素位置index() name.index (" cindy ") 2
修改、添加、删除
修改列表元素 name [ -1] = " Jing Nie "
末尾添加元素:append() name . append (" frank ") 插入元素:insert() name . insert (0 ," Jing Nie")
删除元素
按取值删除:remove() name . remove (" Jing Nie ")
按索引位置删除:del .list[] 或pop() del name [ -1] name . pop () name . pop ( -2) print ( name )
切片
name = [" alice ", "bob ", " cindy ", " dale "," eric "," frank "," grace "]
name [0:4] Out[22]: [' alice ', 'bob ', ' cindy ', ' dale ']
name [:3] Out[23]: [' alice ', 'bob ', ' cindy ']
name [3:] Out[24]: [' dale ', ' eric ', ' frank ', ' grace ']
name [:] Out[25]: [' alice ', 'bob ', ' cindy ', ' dale ', ' eric ', ' frank ', ' grace ']
name [:: -1] Out[26]: [' grace ', ' frank ', ' eric ', ' dale ', ' cindy ', 'bob ', ' alice ']
组织列表
排序: list.sort() 排序后覆盖原始
临时排序: sorted() 排序后不覆盖原始
反转列表(不排序!): list.reverse()
对list的操作
创建空列表 [ ] name_list = []
确定列表的长度 len() len ( name )
A = name + lst
乘法,list元素的复制,* lst = [1 ,2 ,3 ,4 ,5] lst2 = lst *2
是否存在于list中 in/not in
name = [" alice ", " cindy ", " bob ", " eric "," grace "," frank "," dale "] lst = [1 ,2 ,3 ,4 ,5] 1 in lst Out[49]: True " bob " in name Out[50]: True " Bob " in name Out[51]: False " Bob " not in name Out[52]: True
最大值/最小值
max ( lst ) Out[53]: 5 min ( lst ) Out[54]: 1
次数 count()
name.count (" alice ") Out[56]: 1
查看列表的函数: dir(list)
Tuple 元组
元组是序列类型中比较特殊的,与列表类似也是有序序列,但是一旦创建就不能被修改。 用圆括号( )来表示(可选项),并用逗号(, )来分隔其中的元素。 其中元素可以是不同类型的数据。 不能更改,可以防止错误赋值所导致重要对象的改变。 常用情况: 在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等。
没有元素——用空括号表示() 一个元素的元组——(1,) 两个元素的元组——(1,2) 在地址(id)不变的情况下可以改变(eg.在列表[]里面添加元素) 在地址(id)改变的情况下不可以改变(eg.把第二个元素替换) 不可变immutable:str,number,Bool,Tuple 可变mutable:list,set,dict
查看元素
personal_info = (" alice " ,18 ," bob " ,19 , " cindy " ,20) personal_info [0:2] Out[62]: (' alice ', 18)
创建一个空元组 info = ()
将列表转换为元组, tuple() c = [1 ,2 ,3 ,2 ,1] d = tuple (c)
由于元组是不可变的,所以只能有一些不可变的方法,例如计算元素个数 count() 和元 素位置 index() ,用法与列表一样。 某个元素的个数 count() c = [1 ,2 ,3 ,2 ,1] c. count (1) 元素位置 index() c. index (3) 元组长度len() len (c) 元素的最大值max()、最小值min() max (c ) min (c )
set集合
Set 与数学中的集合概念一致,即包含0个和多个数据项的无序组合。 用大括号{}生成一个集合,元素间用逗号分隔;或者用set( )
区别:空集合不能用{},用set()
元素不可重复, 常用于去除重复值。
固定数据类型:数字( 整数、浮点数、复数)、字符串、元组等。可哈希运算hash. 可变数据类型: 不能作为集合元素, 如列表、字典、集合。不可进行hash运 算的.
没有索引和位置的概念,也不能切片。
set()可以将元素转化为集合
set集合运算
A.union(B) 或A|B, 并集,显示A和B中全部的唯一元素
A = {" python " ,0, (" python " ,1)} B= set ({0 ,1 ,2 ,3 ,4}) In [2]: A|B Out [2]: {(" python ", 1) , 0 , 1 , 2 , 3, 4, " python "}
A.difference (B)或 A-B, 差集,显示A中不属于B的元素。返回一个新集合,包括在集合A但不在B中的元素
In [3]: A -B Out [3]: {(" python ", 1) , " python "}
A.intersection(B)或 A&B, 交集,显示A和B中都有的元素
In [4]: A&B Out [4]: {0}
A ∧ B: 补集,返回一个新集合,包括集合A和B中的非相同元素
In [5]: A^B Out [5]: {(" python ", 1) , 1 , 2 , 3 , 4, " python "}
A.add(x): 如果x不在集合A中,将x增加到A
A.clear(): 移除A中所有元素
A.discard(x): 移除A中元素x,如果x不在集合A中,不报错
A.remove(x): 移除A中元素x,如果x不在集合A中,产生KeyError异常
len(A): A的元素个数
x in A: 如果x是A的元素,返回True x not in A: 如果x不是A的元素,返回True
判断集合的子集和超集关系关系
A.issubset(B)或 A<=B: 返回True/False,判断A是不是B的子集
A = {0} B = {0 ,1 ,2 ,3 ,4} A.issubset(B) Out[19]: True A<=B Out[20]: True
B.issuperset(A) 或B>= A : 返回True/False,判断B是不是A的超集
B.issuperset(A) Out[21]: True B>= A Out[22]: True
dict 字典
映射是一种键(索引)和值(数据)的对应,常用于快速查找所需内容
使用{}创建字典,其中要包含一对一对的“键:值”对,冒号:用于分隔键和值。 A = 2:”China”,0:”USA”,1:”UK”,3:”Japan”
空值: B = {} C = dict ()
索引 A[key] 或者A.get(key) A [0] A. get (0) A. get (2)
A. get (0) Out[33]: 'USA' A. get (2) Out[34]: 'China' A [0] Out[35]: 'USA'
查看所有键、元素 A. keys () A. values () A. items ()
A. keys () Out[37]: dict_keys([2, 0, 1, 3]) A. values () Out[38]: dict_values(['China', 'USA', 'UK', 'Japan']) A. items () Out[39]: dict_items([(2, 'China'), (0, 'USA'), (1, 'UK'), (3, 'Japan')])
添加、修改元素 A [4]= " Italy "
A [4]= " Italy " A Out[43]: {2: 'China', 0: 'USA', 1: 'UK', 3: 'Japan', 4: ' Italy '}
删除元素: del 删除字典、或者某个元素 .pop() 删除某个元素,没写自动删除最后一个 .clear() 删除所有元素
A = {2:"China",0:"USA",1:"UK",3:"Japan"} del A[0] A Out[48]: {2: 'China', 1: 'UK', 3: 'Japan'} A. pop (2) A. clear ()
元素个数 len (A)
字典的key不能是可变类型
一些补充
利用 zip() 创建字典:
a = [1 ,2 ,3 ,4 ,5] b = [" China "," USA ","UK"," Japan "," Italy "] zipped = zip (a ,b) # r e s u l t i s a z i p o b j e c t list ( zipped ) # r e s u l t i s a l i s t o b j e c t portfolio = dict ( zip(a ,b )) # r e s u l t i s a d i c t o b j e c t
利用 for loop 创建字典:
a = [1 ,2 ,3 ,4 ,5] b = [" China "," USA ","UK"," Japan "," Italy "] portfolio = {} for key , value in zip (a ,b ): portfolio [ key ] = value print ( portfolio )