函数,集合,列表,字典,jieba库知识整理

函数

函数用来:实现一个功能,函数理解成一个工具,遇到问题就可以把这个工具拿过来用

函数的好处: 函数比较方便,复用,可以在多个场景下用

函数定义: def 函数名 (参数)

利用调用函数求解圆的pi

def get_pi(num):
    import random

    count = 0
    for i in range(num):
        x, y = random.random(), random.random()
        dist = pow((x - 0) ** 2 + (y - 0) ** 2, 0.5)

        if dist < 1:
            count += 1

    print(4 * count / num)

get_pi(10)
get_pi(100)
get_pi(1000)
get_pi(10000)
get_pi(100000)

函数分为, 带参数的函数和带返回值的函数

def add_sum(num):#  num就是一个参数

    count = 0
    for i in range(1, num):
        count += i

    return count  #返回值, 是count

res1= add_sum(101)  #101就是参数的值传给函数的参数
print('res1:',res1)
res2 = add_sum(1001)
print('res2:',res2)
res3 = add_sum(10001)
print('res3:',res3)

集合

什么是集合: 集合就是一组数据

集合定义(定义集合可以用set(),也可以直接定义用{}括起来)

s1={'nick','handsome',121,11}#
s2 = set('nick')  # iterable(序列类型)
s3 = set(['1', 2, 3])

#输出结果{1.0, 'nick', 'dsb', 1231, 'wuhao', 'handsome'}
        {'n', 'i', 'c', 'k'}
        {'1', 2, 3}

集合的操作符

操作符及应用 描述
S | T 返回一个新集合,包括在集合S和T中的所有元素
S - T 返回一个新集合,包括在集合S但不在T中的元素
S & T 返回一个新集合,包括同时在集合S和T中的元素
S ^ T 返回一个新集合,包括集合S和T中的非相同元素
S <= T或S < T 返回True/False,判断S和T的子集关系
S >= T或S > T 返回True/False,判断S和T的包含关系

集合的处理方法

操作函数或方法 描述
S.add(x) 如果x不在集合S中,将x增加到S
S.discard(x) 移除S中元素x,如果x不在集合S中,不报错
S.remove(x) 移除S中元素x,如果x不在集合S中,产生KeyError异常
S.clear() 移除S中所有元素
S.pop() 随机返回S的一个元素,更新S,若S为空产生KeyError异常
S.copy() 返回集合S的一个副本
len(S) 返回集合S的元素个数
x in S 判断S中元素x,x在集合S中,返回True,否则返回False
x not in S 判断S中元素x,x不在集合S中,返回False,否则返回True
set(x) 将其他类型变量x转变为集合类型

序列

序列会有序列号, 就像索引一样,

序列的类型,就是带有索引的数据类型:字符型,列表,元祖

列表用中括号中间用逗号隔开

例如:

lt = ["nick","handsome",1,1]
print(lt)

列表定义的函数

函数或方法 描述
ls[i] = x 替换列表ls第i元素为x
ls[i: j: k] = lt 用列表lt替换ls切片后所对应元素子列表
del ls[i] 删除列表ls中第i元素
del ls[i: j: k] 删除列表ls中第i到第j以k为步长的元素
ls += lt 更新列表ls,将列表lt元素增加到列表ls中
ls *= n 更新列表ls,其元素重复n次

列表定义的

函数或方法 描述
ls.append(x) 在列表ls最后增加一个元素x
ls.clear() 删除列表ls中所有元素
ls.copy() 生成一个新列表,赋值ls中所有元素
ls.insert(i,x) 在列表ls的第i位置增加元素x
ls.pop(i) 将列表ls中第i位置元素取出并删除该元素
ls.remove(x) 将列表ls中出现的第一个元素x删除
ls.reverse() 将列表ls中的元素反转
# 清除
lt.clear()

#
lt2 = lt.copy()

# 排序
lt = [1,3,2,100,4,5]
lt.sort()
print(lt)

# 翻转
lt.reverse()
print(lt)

# 元组
# 元组就是把列表的中括号换成小括号,然后他没有内置方法
lt = [1,3,2,100,4,5]

# 只可取不可更改
tu  =  (1,3,2,100,4,5)
print(tu[0])

基本统计方法

通过用户输入一组数据(用户一个一个输入),然后计算数据的中位数,平均值,方差,求o和等操作

nums = []

while True:
    num1 = input('请输入你需要输入的数字(输入 q 退出):')
    if num1 == 'q':
        break
    nums.append(int(num1))

def get_median(nums):  # ['123', '32', '123', '234']
    #                       0      1      2    3
    nums.sort()

    nums_len = len(nums)
    if nums_len % 2 == 0:
        print((nums[int(nums_len / 2 - 1)] + nums[int(nums_len / 2)]) / 2)
    else:                           # ['123', '32', '123']   # 1
        print(nums[nums_len // 2])  # ['123', '32', '123','123', '32', '123','123']  # 3

# get_median(nums)
def get_sum(nums):  # ['123', '123', '213', '234', '98234']
    count = 0
    for i in nums:
        count += int(i)

    return count

# count = get_sum(nums)
# print('count:',count)

def get_average(nums):
    count = get_sum(nums)
    average_count = count/len(nums)

    return average_count

# average_count = get_average(nums)
# print(average_count)

def get_variance(nums):
    average_count = get_average(nums)

    variance_count = 0
    for i in nums:
        variance_count += pow(i-average_count,2)

    return variance_count

variance_count = get_variance(nums)
print(variance_count)

字典类型

字典类型的定义可以用dict也可以直接定义

d={"中国":"北京","美国":"华盛顿"}

字典处理函数的方法

函数或方法 描述
del d[k] 删除字典d中键k对应的数据值
k in d 判断键k是否在字典d中,如果在返回True,否则False
d.keys() 返回字典d中所有的键信息
d.values() 返回字典d中所有的值信息
d.items() 返回字典d中所有的键值对信息

字典类型操作函数和方法

函数或方法 描述
d.get(k, ) 键k存在,则返回相应值,不在则返回值
d.pop(k, ) 键k存在,则取出相应值,不在则返回值
d.popitem() 随机从字典d中取出一个键值对,以元组形式返回
d.clear() 删除所有的键值对
len(d) 返回字典d中元素的个数

jieba库

jieba库一般用于分词

主要了解三个语句

# 马尔可夫模型(两层)

res = jieba.lcut('中华人民共和国是一个伟大的国家')  # 第一个就是尽量长,主要掌握这一个
print(res)

res = jieba.lcut_for_search('中华人民共和国是一个伟大的国家')  # 第二个就是把第一个的长的单词继续切
print(res)

res = jieba.lcut('中华人民共和国是一个伟大的国家',cut_all=True) # 把所有的可能全部切出来
print(res)

原文地址:https://www.cnblogs.com/quyang46/p/11209386.html

时间: 2024-11-10 15:52:19

函数,集合,列表,字典,jieba库知识整理的相关文章

Linux动态库相关知识整理

动态库和静态库在C/C++开发中很常见,相比静态库直接被编译到可执行程序, 动态库运行时加载使得可执行程序的体积更小,更新动态库可以不用重新编译可执 行程序等诸多好处.作者是一个Linux后台开发,这些知识经常用到,所以 整理了一下这方面的知识.静态库相对简单,本文只关心Linux平台下的动态库. 创建动态库 这里我把一个短小却很有用的哈希函数编译成动态库做为示例,ELFhash用于对字符串做哈希,返回一个无符号整数. //elfhash.h #include <stdio.h> unsign

Linux 动态库相关知识整理

动态库和静态库在C/C++开发中很常见,相比静态库直接被编译到可执行程序,动态库运行时加载使得可执行程序的体积更小,更新动态库可以不用重新编译可执行程序等诸多好处.作者是一个Linux后台开发,这些知识经常用到,所以整理了一下这方面的知识.静态库相对简单,本文只关心Linux平台下的动态库. 创建动态库 这里我把一个短小却很有用的哈希函数编译成动态库做为示例,ELFhash用于对字符串做哈希,返回一个无符号整数. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //elf

jieba库

一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组:除此之外,jieba 库还提供了增加自定义中文单词的功能. (2) jieba 库支持3种分词模式: 精确模式:将句子最精确地切开,适合文本分析. 全模式:将句子中所以可以成词的词语都扫描出来,速度非常快,但是不能消除歧义. 搜索引擎模式:在精确模式的基础上,对长分词再次切分,提高召回率,适合搜索引擎分词. 二.安装库函数 (1) 在命令行下输

python第六周:字典,jieba库

字典: 字典类型是"映射"的体现 键值对:键是数据索引的扩展 字典是键值对的集合,键值对之间无序,采用大括号{}和dict()创建,键值对用冒号.表示为 {<键1>:<值1>,<键2>:<值2>, ... , <键n>:<值n>} 在字典变量中,通过键值获取值,如: <值> = <字典变量>[<键>] >>> d = {"中国":"

python数据类型详解及列表字典集合推导式详解

一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a + b) 比较运算符 例: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 if a < b: print(True) else: print(False) 赋值运算符 例: #!/usr/bin/env python # -*- c

python基础一 -------如何在列表字典集合中根据条件筛选数据

如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) 1 filter(lambda x:x>0,data) 3,列表推倒式 4,效率对比:还是列表推导式稍高 二:字典 1,跟列表类似,推导式 先生成随机的字典(key从1-20) 过滤掉value是负数的值 三:集合 随机生成10个元素的集合 过滤掉小于0的元素,跟字典类似

python之itemgetter函数:对字典列表进行多键排序

itemgetter函数:对字典列表进行多键排序 1 from operator import itemgetter 2 3 list_people = [ 4 {'name': 'Mike', 'age': 22, 'score': 90}, 5 {'name': 'Alice', 'age': 22, 'score': 90}, 6 {'name': 'Lee', 'age': 26, 'score': 92}, 7 {'name': 'Ben', 'age': 26, 'score': 8

python :列表 字典 集合 类 ----局部变量可以改全局变量

#列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def func(names): names[0]='金角大王' print("inside name:" ,names) func(names) print (names) #字符串 name='jack' name1=name name='jack_chen' print(name,name1

what&#39;s the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法

计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中==比较的是值,is比较的是id.比较运算只能在同种类型下进行比较.字符串的比较是按照顺序依次进行比较.逻辑运算的顺序先后为要用括号来表示. 基本运算符如下: 算术运算 以下假设a=10,b=20 比较运算 以下假设a=10,b=20 赋值运算 逻辑运算  成员运算 身份运算 what's the 内