List
list能够进行的操作
在list中添加循环:
a = [i for i in range(10)] # 利用这个for循环向list中添加元素
添加元素:
添加单个元素
a = [1,2,3,4,5]
a.append(7)
添加另一个list:
a = [1,2,3,4,5]
c = [7,8,9]
a.extend(c)
# 或者直接用 +
a + c
删除元素:
按照下标删除元素
a = [1,2,3,4,5]
del a[0]
按照元素内容删除元素:
a = [1,2,3,4,5]
a.remove(2) # 这里就删除了 元素2 而不是下标2对应的元素
弹出最后一个元素:
a = [1,2,3,4,5]
a.pop() # 弹出最后一个元素,然后把这个元素从a中删除
可以改变print函数中每行的结尾符
for i in a:
print(i, end = ' ') # 可以改变 end = ' ' 里面的值,可以是任何值
访问元素:
按照下标访问
a = [1,2,3,4,5]
a[0]
切片访问
a = [1,2,3,4,5]
a[:3] # 不包含最后一个元素,即不包含3对应的元素
求最大值/最小值
a = [1,2,3,4,5]
max(a)
min(a)
String
String可以看成是一个List,但是不能对string中的元素进行更改
a = "hello world"
a[0] = 'n' # 这个操作是不合法的
Tuple
tuple与list基本操作一致,只不过tuple不能改变里面的元素。
tuple 的区别:
1. 定义的时候有逗号,才是tuple;没有逗号不是tuple。
tuple1 = 'a','b'
2. tuple添加元素:
tuple1 + (4,) # 不能用 append 或者 extend
Enumerate
enumerate 的作用是自动给一个 list 或者 tuple 加上index
for index, item in enumerate(b):
print(index, item)
for index, item in enumerate(b,1): # 这里表示index从1开始
print(index, item)
Dict
创建一个dict
name = {}
添加元素
name['linpz'] = 8
访问元素
name.get('linpz') / name['linpz']
判断一个元素是否在dict中
if 'linpz' in name
组合技:
name.get('linpz',20) # 如果dict中有 linpz 这个key, 则返回这个key对应的value,如果没有则返回20
访问所有的keys/values
name.keys()/name.values()
Set
作用是将list去重。其中的方法:
a = set()
a.add()
a.remove()
Class
类中需要定义一个初始化函数,但是这个不是必须的,如果你没有定义,系统会自动分配一个初始化函数给你。
class Student:
const = 'what r u doing'
def __init__(self, name, score): # 所有类中的函数,都需要有一个 self 作为传入参数
self.name = name # python 中的下划线作用是修饰符
self.score = score
def print_all(self):
print(self.name, self.score,self.const)
继承
子类继承父类的所有方法,但是如果有一个名字相同的方法,子类重写之后想要同时保留父类中这个方法,使用super
class Animal:
def __init__(self,name):
self.name = name
self.__color = 'red'
self.secret = 'papapa'
def get_name(self):
return self.name
def get_color(self):
return self.__color
def _get_color(self):
return self.__color
def __get_color(self):
return self.__color
def speak(self):
return 'LOL'
Dog 继承父类
def Dog(Animal):
def __init__(self, name):
super().__init__(name) # 注意这里只传入 name 这个变量,而不用管 self
Lambda 函数
lambda 函数的作用是能够更加简单地定义一个函数,而不需要写 def , return 这类的东西
f = lambda x : math.log(x, 2) # lambda 函数中, 冒号前面的是需要往里传递的参数, 冒号后面的是返回值
a = [f(i) for i in d]