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

相关文章
|
13天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
31 6
|
23天前
|
Python
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
本篇将详细介绍Python中的输入和输出函数,包括 `print()` 和 `input()` 函数的使用,涵盖格式化输出、类型转换及常见的字符串格式化方法。通过学习本篇,用户将掌握如何使用Python进行输入输出操作,并能灵活运用格式化输出处理数据。
56 1
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
|
16天前
|
存储 算法 Java
Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性
Java Set因其“无重复”特性在集合框架中独树一帜。本文解析了Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性,并提供了最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的hashCode()与equals()方法。
30 4
|
15天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。
【10月更文挑战第14天】从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。本文深入探讨Set的核心理念,并通过示例代码展示了HashSet和TreeSet的特点和应用场景。
14 2
|
16天前
|
存储 NoSQL Redis
redis-set类型
【10月更文挑战第6天】
33 1
|
18天前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
13 1
|
19天前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
17 2
|
26天前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
24 3
|
21天前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
87 0
WK
|
22天前
|
Python
Python类命名
在Python编程中,类命名至关重要,影响代码的可读性和维护性。建议使用大写驼峰命名法(如Employee),确保名称简洁且具描述性,避免使用内置类型名及单字母或数字开头,遵循PEP 8风格指南,保持项目内命名风格一致。
WK
10 0