首页 / PYTHON / Python 高级特性(1)
Python 高级特性(1)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python 高级特性(1),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2916字,纯文字阅读大概需要5分钟。
内容图文
![Python 高级特性(1)](/upload/InfoBanner/zyjiaocheng/1159/14b035655444431f8f481ba786159327.jpg)
前言
面 tx 被问到 python 的高级特性相关,这里做个补充学习吧
正向范围取值
关键点
- 首位下标是 0
- 第一个数字是起始下标,第二个数字是结束下标(但最终结果不包含它)
代码块一
# 正向范围取值 - 字符串 strs ="https://www.cnblogs.com/poloyy"# 从第 0 个下标开始取值,到第 1 个下标结束,但不会取第 1 个下标的元素,最终取的是 0 下标的值print(strs[0:1]) # 从第 0 个下标开始取值,到第 10 个下标结束,但不会取第 10 个下标的元素,最终取的是 1,2,3,4,5,6,7,8,9 下标的值print(strs[0:10]) # 从第 5 个下标开始取值,到第 10 个下标结束,但不会取第 10 个下标的元素,最终取的是 5,6,7,8,9 下标的值print(strs[5:10]) # 从第 5 个下标开始取值,到第 100 个下标结束,但因为字符串最长就 30 个字符,所以会取到最后一个结束就结束了print(strs[5:100]) # 相同数字返回空print(strs[5:5]) # 第二个数字比第一个数字小,返回空print(strs[5:4]) # 从第 0 个下班开始取值,取后面所有元素print(strs[0:]) # 取前面 10 个元素print(strs[:10])
运行结果
h https://ww ://ww ://www.cnblogs.com/poloyy https://www.cnblogs.com/poloyy
https://ww
代码块二
# 正向范围取值 - 数组 lists = [1, 2, 3, 4, 5, 6, 7] print(lists[0:1]) print(lists[0:10]) print(lists[5:10]) print(lists[5:100]) print(lists[5:5]) print(lists[5:4])
运行结果
[1] [1, 2, 3, 4, 5, 6, 7] [6, 7] [6, 7] [] []
反向范围取值
关键点
- 因为是反向,所以倒数的下标从 -1 算起
- 第一个数字是起始下标,第二个数字是结束下标(但最终结果不包含它)
- 第一个数字是负数情况下,第二个数字最大是 -1,如果写成 0 会返回空值
代码块
# 反向范围取值 - 字符串 strs = "https://www.cnblogs.com/poloyy"# 取最后 10 个元素print(strs[-10:]) # 取最后 6-10 的元素, 不会取到倒数第五个元素print(strs[-10:-5]) # 反向范围取值 - 列表 lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 取最后 6 个元素print(lists[-6:]) # 取最后 5 个元素, 但不会取到倒数第 1 个元素print(lists[-5:-1]) # 第二个值写0,返回空值print(lists[-10:0]) # 正数+复数组合print(lists[1:-5])
运行结果
com/poloyy com/p [5, 6, 7, 8, 9, 10] [6, 7, 8, 9] [] [2, 3, 4, 5]
[:] 复制对象
代码块
# [:] lists1 = [1, 2, 3, 4, 5] lists2 = lists1 lists1.append(6) print(lists1, lists2, id(lists1), id(lists2)) lists1 = [1, 2, 3, 4, 5] lists2 = lists1[:] lists1.append(6) print(lists1, lists2, id(lists1), id(lists2)) lists1 = [1, 2, 3, 4, 5, [1, 2, 3]] lists2 = lists1 lists1[5].append(4) print(lists1, lists2, id(lists1), id(lists2)) lists1 = [1, 2, 3, 4, 5, [1, 2, 3]] lists2 = lists1[:] lists1[5].append(4) print(lists1, lists2, id(lists1), id(lists2)) strs1 = "abcd" strs2 = strs1 strs1 = "abc"print(strs1, strs2, id(strs1), id(strs2)) strs1 = "abcd" strs2 = strs1[:] strs1 = "abc"print(strs1, strs2, id(strs1), id(strs2))
运行结果
[1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6] 2560550555144 2560550555144 [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5] 2560550627784 2560548023880 [1, 2, 3, 4, 5, [1, 2, 3, 4]] [1, 2, 3, 4, 5, [1, 2, 3, 4]] 2560550627400 2560550627400 [1, 2, 3, 4, 5, [1, 2, 3, 4]] [1, 2, 3, 4, 5, [1, 2, 3, 4]] 2560550627784 2560550627656 abc abcd 2560547930776 2560548937376 abc abcd 2560547930776 2560548937376
知识点
[:] 等同于浅拷贝,对可变对象是生效的
[::] 步进
代码块
# [::] strs = "https://www.cnblogs.com/poloyy"# 取最后 10 个元素,每 2 个取 1 个print(strs[-10::2]) # 取第 0 到 10 的元素,每 5个 取 1 个print(strs[0:10:5]) print(strs[::]) # 倒序print(strs[::-1]) lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 取全部元素,每 3 个 取 1 个print(lists[::3]) # 倒序print(lists[::-1])
运行结果
cmply h: https://www.cnblogs.com/poloyy yyolop/moc.sgolbnc.www//:sptth [1, 4, 7, 10] [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
原文:https://www.cnblogs.com/poloyy/p/14635278.html
内容总结
以上是互联网集市为您收集整理的Python 高级特性(1)全部内容,希望文章能够帮你解决Python 高级特性(1)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。