Python 常用小妙招(三)

简介: Python 常用小妙招(三)
本文记录一些 Python 日常编程中的小妙招,并使用 IPython 进行交互测试,让我们更好的了解和学习 Python 的一些特性。

<br/>

字符串格式化

%s 字符串占位符

name = 'ithui'

hobbies = ['下象棋', '敲代码']


print('我叫 %s,喜欢 %s' % (name, hobbies))

# 之前提到过字符串拼接列表元素,这里就是以顿号拼接
print('我叫 %s,喜欢 %s' % (name, '、'.join(hobbies)))


=============结果如下=============
我叫 ithui,喜欢 ['下象棋', '敲代码']
我叫 ithui,喜欢 下象棋、敲代码

<br/>

format 方法

In [6]: '我叫 {},喜欢 {}'.format(name, hobbies)
Out[6]: "我叫 ithui,喜欢 ['下象棋', '敲代码']"

In [7]: '我叫 {},喜欢 {}'.format(name, ','.join(hobbies))
Out[7]: '我叫 ithui,喜欢 下象棋,敲代码'
    
    
In [8]: hobbies = ', '.join(hobbies)

In [9]: '我叫 {name},喜欢 {hobbies}'.format(name=name, hobbies=hobbies)
Out[9]: '我叫 ithui,喜欢 下象棋, 敲代码'   
    

<br/>

模板字符串

在字符串最前面写一个 f,就是模板字符串, {} 里面可以直接放置变量。
In [10]: name = 'ithui'

In [11]: hobbies = ['下象棋', '敲代码']

In [12]: print(f'我叫 {name},喜欢 {hobbies}')
我叫 ithui,喜欢 ['下象棋', '敲代码']

<br/>

切片

Python 中的切片非常实用,切片的索引语法适用于所有可迭代对象,不仅可以指定步长,还可以负数索引。

语法:

[start:end:step]
  • start 表示开始索引
  • end 表示结束索引
  • step 每次索引的步长,默认为 1,步长为正时,从左向右取值。步长为负时,反向取值。

<br/>

注意事项

  • [start, end),索引范围是 左闭右开,例如:[0: 10] 只能取到 0-9 的索引范围。
  • 索引支持负数索引。例如:[0:-1],表示从0 索引到最后一个,-1 代表最后一个索引位置。
  • 开始索引不写默认为0,结束索引不写默认为最后,步长不写,默认步长为 1。

<br/>

获取列表最后n个元素

In [62]: li = [1, 2, 3, 4, 5, 6, 7, 8]

In [63]: li[-1]
Out[63]: 8

In [64]: li[-2:]
Out[64]: [7, 8]

In [65]: li[-3:]
Out[65]: [6, 7, 8]

<br/>

奇偶数获取

In [56]: li = list(range(1, 11))

In [57]: li
Out[57]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

In [58]: # 奇数

In [59]: li[::2]
Out[59]: [1, 3, 5, 7, 9]

In [60]: # 偶数

In [61]: li[1::2]
Out[61]: [2, 4, 6, 8, 10]

<br/>

复制列表元素

In [53]: li
Out[53]: [1, 2, 3, 4, 5]

In [54]: copy_li = li[::]

In [55]: copy_li
Out[55]: [1, 2, 3, 4, 5]

<br/>

字符串、列表反转

In [14]: li = [1, 2, 3, 4, 5, 6, 7, 8]

In [15]: li[::-1]
Out[15]: [8, 7, 6, 5, 4, 3, 2, 1]

In [16]: s = '654321'

In [17]: s[::-1]
Out[17]: '123456'

<br/>

交互环境变量 _

在交互环境中有一个隐藏的变量 _,它是上一个表达式的结果。

<br/>

In [72]: li
Out[72]: [1, 2, 3, 4, 5]

In [73]: li[-1]
Out[73]: 5

In [74]: _
Out[74]: 5

In [75]: li[::]
Out[75]: [1, 2, 3, 4, 5]

In [76]: _
Out[76]: [1, 2, 3, 4, 5]

<br/>

尾语

✍ 用 Code 谱写世界,让生活更有趣。❤️

✍ 万水千山总是情,点赞再走行不行。❤️

✍ 码字不易,还望各位大侠多多支持。❤️

相关文章
|
Python
python中的常用小技巧
python中的常用小技巧
148 0
|
API ice Python
Python 常用小妙招(一)
Python 常用小妙招(一)
Python 常用小妙招(二)
Python 常用小妙招(二)
Python 常用小妙招(四)
函数可以把多个列表合并成一个列表,多个列表元素打包成元组。
|
弹性计算 Linux Python
有哪些常用的 Python 标准库?
有哪些常用的 Python 标准库?
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80

热门文章

最新文章

推荐镜像

更多