python--内置方法eval、zip、enumerate

简介: python--内置方法eval、zip、enumerate

eval


执行字符串类型的代码,并返回最终结果

a = "8+2+9"
print(eval(a))

结果:

19


exec


执行字符串类型的代码,没有返回结果

a = "8+2+9"
print(exec(a))

结果:

None
s = "for i in range(3): print(i)"
exec(s)

结果:

0
1
2
print(exec(s))会返回0 1 2 None
a = -8
print(abs(a))  # 取绝对值 
print(sum([1, 3, 5]))

结果;

8
9
name = "我是\n外星人"
print(name)  # 打印出 我是 后换行。在打印出 外星人
print(repr(name))  # 原样输出,过滤掉转义字符 \n \t \r

结果:

我是
外星人
'我是\n外星人'

enumerate


lst = ["张三", "李四", "王五"]
for index, el in enumerate(lst):  # 索引默认从0开始
    print(index, el)

结果:

0 张三
1 李四
2 王五
lst = ["张三", "李四", "王五"]
for index, el in enumerate(lst, 5):  # 从5开始
    print(index, el)

结果:

5 张三
6 李四
7 王五


常用内置函数


print(all([1, -5, 3]))  # 有一个为假就为假,空为True
print(any([]))  # 有一个为真就为真,空为False
print(bin(255))  # 十进制整数转换为二进制
print(bool([]))  # 判断真假,0为False,空列表为False
print(chr(98))  # 将数字转换成ascii码的字符
print(ord('a'))  # 将字符转换为ascii码的数字
a = {}
print(dir(a))  # dir查看有什么可以使用的方法
print(divmod(7, 5))  # 返回商和余数
print(hex(255))  # 十进制转换为16进制
print(oct(16))  # 十进制转换为8进制
print(pow(2, 8))  # 2的8次方
print(round(1.985, 2))  # 四舍五入
a = {6: 2, 8: 0, 1: 4, -5: 6, 99: 11, 4: 22}
print(sorted(a.items()))  # 按key排序
print(sorted(a.items(), key=lambda x: x[1]))  # 按value排序

结果:

True
False
0b11111111
False
b
97
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
(1, 2)
0xff
0o20
256
1.99
[(-5, 6), (1, 4), (4, 22), (6, 2), (8, 0), (99, 11)]
[(8, 0), (6, 2), (1, 4), (-5, 6), (99, 11), (4, 22)]


zip


a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd']
for i in zip(a, b):  # 元素一一对应起来
    print(i)

结果:

(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd']
s = zip(a, b)
print(s.__next__())

结果:

(1, 'a')

返回的是个迭代器,要么用__next__, 要么用for循环


相关文章
|
29天前
|
调度 Python
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
|
1月前
|
Python
Python字符串center()方法详解 - 实现字符串居中对齐的完整指南
Python的`center()`方法用于将字符串居中,并通过指定宽度和填充字符美化输出格式,常用于文本对齐、标题及表格设计。
|
2月前
|
安全 Python
Python语言中常用的文件操作方法探讨
通过上述方法的结合使用,我们可以构筑出强大并且可靠的文件操作逻辑,切实解决日常编程中遇到的文件处理问题。
157 72
|
28天前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
|
3月前
|
存储 机器学习/深度学习 人工智能
稀疏矩阵存储模型比较与在Python中的实现方法探讨
本文探讨了稀疏矩阵的压缩存储模型及其在Python中的实现方法,涵盖COO、CSR、CSC等常见格式。通过`scipy.sparse`等工具,分析了稀疏矩阵在高效运算中的应用,如矩阵乘法和图结构分析。文章还结合实际场景(推荐系统、自然语言处理等),提供了优化建议及性能评估,并展望了稀疏计算与AI硬件协同的未来趋势。掌握稀疏矩阵技术,可显著提升大规模数据处理效率,为工程实践带来重要价值。
155 58
|
2月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
157 0
|
3月前
|
JSON 数据格式 Python
解决Python requests库POST请求参数顺序问题的方法。
总之,想要在Python的requests库里保持POST参数顺序,你要像捋顺头发一样捋顺它们,在向服务器炫耀你那有条不紊的数据前。抓紧手中的 `OrderedDict`与 `json`这两把钥匙,就能向服务端展示你的请求参数就像经过高端配置的快递包裹,里面的商品摆放井井有条,任何时候开箱都是一种享受。
91 10
|
2月前
|
传感器 算法 数据挖掘
Python时间序列平滑技术完全指南:6种主流方法原理与实战应用
时间序列数据分析中,噪声干扰普遍存在,影响趋势提取。本文系统解析六种常用平滑技术——移动平均、EMA、Savitzky-Golay滤波器、LOESS回归、高斯滤波与卡尔曼滤波,从原理、参数配置、适用场景及优缺点多角度对比,并引入RPR指标量化平滑效果,助力方法选择与优化。
427 0
|
4月前
|
Python
Python 中__new__方法详解及使用
__new__ 是 Python 中用于创建类实例的静态方法,在实例化对象时优先于 __init__ 执行。它定义在基础类 object 中,需传递 cls 参数(表示当前类)。__new__ 可决定是否使用 __init__ 方法或返回其他对象作为实例。特性包括:1) 在实例化前调用;2) 始终为静态方法。示例中展示了其用法及 Python2 和 Python3 的差异,强调了参数处理的不同。
184 10
|
4月前
|
人工智能 Ruby Python
python__init__方法笔记
本文总结了Python中`__init__`方法的使用要点,包括子类对父类构造方法的调用规则。当子类未重写`__init__`时,实例化会自动调用父类的构造方法;若重写,则需通过`super()`或直接调用父类名称来显式继承父类初始化逻辑。文中通过具体代码示例展示了不同场景下的行为及输出结果,帮助理解类属性与成员变量的关系,以及如何正确使用`super()`实现构造方法的继承。
168 9

热门文章

最新文章

推荐镜像

更多