1.去除列表中的重复数字
2.使用set()后,元素的位置会变吗?
会,set() 函数创建一个无序不重复元素集
扩展:如何让其保持不变?
string = [3,4,4,5,3,45,8]
string1 = list(set(string))
print("==",string1)
string1.sort(key=string.index)
print("**",string1)
结果:
==[3, 4, 5, 8, 45]
**[3, 4, 5, 45, 8]
3.python中sort和sorted的区别
list sort方法
list.sort( key=None, reverse=False)
举例:
numbers = [3,5,1,4,2]
numbers.sort()
print(numbers)
# 结果:[1,2,3,4,5]
sorted函数
sorted() 函数对所有可迭代的对象进行排序操作。
a = [5,7,6,3,4,1,2]
b = sorted(a)
print(b)
# 结果:[1,2,3,4,5,6,7]
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
4.*args and **kwargs的区别
*args是将不定数量的参数打包成tuple给函数体调用
**kwargs 打包关键字参数成dict(键值对)给函数体调用
def function(*args):
print(args, type(args))
function(1)
# 结果:(1,) <class 'tuple'>
def function(x, y, *args):
print(x, y, args)
function(1, 2, 3, 4, 5)
# 结果:1,2,(3,4,5)
def function(**kwargs):
print( kwargs, type(kwargs))
function(a=2)
# 结果:{'a':2} <class 'dict'>
注意点:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。
5.常用的数据类型
Number数字、String字符串、List列表、Tuple元组、Dict字典、Sets集合
数字:支持int、float、bool、complex(复数)
字符串:用单引号或多引号括起来,使用反斜杠转义特殊字符
列表:写在方括号中,用逗号分隔,支持数字、字符串和列表
元组:写在小括号中,元组的元素不能修改
字典:key:value的集合,key必须唯一,通过key取
集合:用{}或set()函数创建集合
6.字典和列表性能区别
字典在时间复杂度为O(1)内完成增删查操作;列表插入删除均需要O(n)
7.列表和元组的区别
列表看成是动态数组,可变且可以重新设定长度;元组看成静态数组,不可变且长度一旦创建无法改变
8.python删除文件
删除文件:os.remove(文件)
删除文件夹:os.removedirs(文件夹)
,但是文件夹必须为空
删除目录:os.rmdir(目录)
删除非空目录:shutil.rmtree(非空目录)
9.python中模块和包的区别
模块:单个py文件成为模块
导入模块
hello.py
def fun()
print("Hello World")
test.py
import hello
hello.fun()
#输出结果:Hello World
包:包下有多个py文件
如图:包pack下含有module1模块和module2模块
调用包下面的方法
from pack import module1
from pack import module2
module1.fun1()
module2.fun2()
#输出结果:
模块1的输出
模块2的输出