python 格式化、set类型和class类基础知识练习(上)

简介: python 格式化、set类型和class类基础知识练习

原创:叫我詹躲躲

来源:简书

链接:https://www.jianshu.com/p/e7280031a874


1.输出 %占位符


lastname = 'hello'
firstname = 'world'
print('我的名字是%s %s' %(lastname,firstname))

2.常用的格式化字符


%c 字符
%s 通过str来格式化
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%e 索引符号(小写e)
%E 索引符号(大写E)
%f 浮点实数
%g %f和%e的简写
%G %f和%E的简写

3 格式化的其他方式 format


name = '老夫子'
age = 28
print('姓名:{},年龄{}'.format(name,age))
姓名:老夫子,年龄28

4.匿名函数


lambda 参数1,参数2,参数3:表达式

特点:
1.使用lambda关键字创建函数
2.没有名字的函数
3.匿名函数冒号后面的表达式有且只有一个,是表达式不是语句
4.自带return

5.lambda 示例1


def computer(x,y):
    # 计算两数和
    return x+y

M = lambda x,y:x+y
print(M(1,2))

6.lambda 示例1


result = lambda a,b,c:a*b*c
print(result(12,121,1))

7 lambda 三元表达式模拟


age = 15
print('可以参军' if age>18 else '继续上学')

# 直接调用
result = (lambda x,y:x if x>y else y)(2,5)

8.递归函数


# 阶乘函数
def factorial(n):
    if n==1:
       return 1
    else:
       return n*factorial(n-1)
    pass

print(factorial(3))

9 递归案例 模拟实现 树形结构的遍历


import os #文件操作模块
def findFile(file_path):
    listRs = os.listdir(file_path) #得到该路径所有的文件夹
    for fileItem in listRs:
        full_path = os.path.join(file_path,fileItem)
        if os.path.isdir(full_path): #判断是否为文件夹
            findFile(full_path)
        else:
            print(fileItem)
            pass
        pass
    else:
        return
findFile('F:\\7.代码学习')

10.python的内置函数


abs(-27) #绝对值
round(21.1123) #浮点近似值
pow(2,3) #幂 2**3
divmod(10,3) # 商余
max(1,2,3,4) #最大值
min(1,2,3,4) #最小值
sum(1,2,3,4) #求和
eval() #动态执行表达式

11.类型转换函数


int #整型
float #浮点型
str #字符类型
ord #返回对应字符的ASCII
chr # 数字转字符 ASCII
bool # boolean
bin # 转换二进制
hex #转换为十六进制
oct # 八进制
list #元祖转列表
tuple #元祖
dict #创建字典
bytes #转为字节

12.可迭代参数 all


# all 用于判定给定的可迭代参数中的所有元素是否都为TRUE,如果是返回TRUE,否则返回FALSE,除了0,空,False 外都算TRUE

def all(iterable):
    for ele in iterable:
        if not ele:
            return False
    return True

li = [1,2,3,4,5,6,False]
print(all(li)) #False

12 可迭代参数 any


# 全部为false,返回false
def any(iterable):
    for ele in iterable:
        if ele:
            return False
    return True

li = [0,False,'']
print(any(li)) #False

13.enumerate 列出遍历数据和下标


li = ['a','b','c']
for index,item in enumerate(li,7):
    print(index,item)

# 改下标
7 a
8 b
9 c

14.set集合 不支持索引和切片,无序不重复


1.创建集合1

set1 = {'1','2'}
set2 = {'11','1'}
# 添加 add
set1.add('3')

# 清空 clear()
set1.clear()

# 取差集 difference
set1.difference(set2) #set1取set1中有的

# 取交集
set1.intersection(set2)

# 取并集
set1.union(set2)
set1 | set2

# 末尾移除
set1.pop()

# 指定移除
set1.discard(3)

# 更新 update 合并一起去重
set1.update(set2)

15 练习题1 三组数据求和


# 1-10,20-30,35-40
def threeSum(a1,a2,a3):
    return sum(a1+a2+a3)

a1 = list(range(1,11))
a2 = list(range(20,31))
a3 = list(range(35,41))
print(threeSum(a1,a2,a3))

16 练习题2 大小和尚多少个


def computers():
    for i in range(1,101):
        for j in range(1,34):
            if i+j==100 and 3*j+i/3 ==100:
                print('大和尚有{}个,小和尚有{}个'.format(j,i))
                pass
computers()

# 大和尚有25个,小和尚有75个

17 练习题3 找出独一无二的数据


li = [1,1,1,2,2,2,2,3,2,2,3,4,2,1,1]
def findUnionNumber(li):
    for item in li:
        if li.count(item)==1:
            return item
            pass
print(findUnionNumber(li))

1.字典统计每个元素的次数

dict ={}
for key in li:
    dict[key] = dict.get(key,0)+1
print(dict)

2.collection包下Counter类统计

from collections import Counter
a = [1, 2, 3, 1, 1, 2]
result = Counter(a)
print(result)

3.pandas包下的value_counts方法统计

import pandas as pd
a = pd.DataFrame([[1,2,3],
                  [3,1,3],
                  [1,2,1]])
result = a.apply(pd.value_counts)
print(result)

python 格式化、set类型和class类基础知识练习(下):https://developer.aliyun.com/article/1483373

相关文章
|
2月前
|
存储 索引 Python
Python散列类型(1)
【10月更文挑战第9天】
|
8天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
46 8
|
29天前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
30 2
|
2月前
|
存储 数据安全/隐私保护 索引
WK
|
2月前
|
存储 Python
Python内置类型名
Python 内置类型包括数字类型(int, float, complex)、序列类型(str, list, tuple, range)、集合类型(set, frozenset)、映射类型(dict)、布尔类型(bool)、二进制类型(bytes, bytearray, memoryview)、其他类型(NoneType, type, 函数类型等),提供了丰富的数据结构和操作,支持高效编程。
WK
20 2
|
2月前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
23 1
|
2月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
27 2
|
2月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
2月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
13天前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
50 18
你对Collection中Set、List、Map理解?