Python in ML —— 基本数据结构

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]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值