知识目录
- 一、写在前面✨
- 二、列表应用
- 三、字典应用
- 四、总结撒花😊
一、写在前面✨
大家好!我是初心,希望我们一路走来能坚守初心!
今天跟大家分享的文章是 Python函数式编程第二弹,再次以两个简单的例子带大家更好的理解Python函数的使用。
,希望能帮助到大家!本篇文章收录于 初心 的 Python从入门到精通 专栏。
🏠 个人主页:初心%个人主页
🧑 个人简介:大家好,我是初心,和大家共同努力
💕欢迎大家:这里是CSDN,我记录知识的地方,喜欢的话请三连,有问题请私信😘
💕 如果有一个喜欢你的人出现,一定不要凶她哦! —— 瑶瑶「次元战争·红龙」
本期跟大家分享的是列表和字典的两个小例题,希望能帮助到大家。
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
二、列表应用
列表是一种可变的、有序的数据结构,可以随时添加和删除其中的元素。
List (列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组。
编程实现:给定一组数值,输出比平均体重更重的那些数值。
from functools import reduce
def evaluate(weight_list):
"""
>>> evaluate([24.5,28,21,20,19])
[24.5, 28]
>>> evaluate([28])
[]
>>> evaluate([25.6, 24.6, 20, 19])
[25.6, 24.6]
>>> evaluate([20, 20, 20, 20])
[]
"""
import doctest
doctest.testmod()
具体实现:(返回的是一个列表生成式)
sum = 0
# 计算总体重
for i in weight_list:
sum += i
# 平均体重
avg_weight = sum / len(weight_list)
# 返回超重体重
return [i for i in weight_list if i > avg_weight]
三、字典应用
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。
编程实现:对s字符串中的字母和数字统计出现次数(注意不区分字母大小写,统一用小写)。
def count(s):
""" 对s字符串中的字母和数字统计出现次数(注意不区分字母大小写,统一用小写)
>>> count("abc1ab")
{'a': 2, 'b': 2, 'c': 1, '1': 1}
>>> count("#bc1ab")
{'b': 2, 'c': 1, '1': 1, 'a': 1}
>>> count("AbC1ab")
{'a': 2, 'b': 2, 'c': 1, '1': 1}
"""
import doctest
doctest.testmod()
具体实现:(不包括函数名和doctest)
# 导入正则表达式模块
import re
# 定义一个空字典
result = {}
# 首先使用正则表达式去除非数字和字母的字符
regex = r'[^0-9a-zA-Z]'
s = re.sub(regex, '', s)
# 然后转化为小写
s = s.lower()
# 遍历字符串
for i in s:
# 如果字典中存在这个键,就数量加1
if result.__contains__(i):
result[i] += 1
else:
# 否则数量为1
result[i] = 1
return result
四、总结撒花😊
本文主要讲解了Python中常用的两种数据类型——列表和字典😊
✨ 这就是今天要分享给大家的全部内容了,我们下期再见!😊
🏠 本文由初心原创,首发于CSDN博客, 博客主页:初心%🏠
🏠 我在CSDN等你哦!😍