博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
五丶Python列表丶元组丶字典
阅读量:5299 次
发布时间:2019-06-14

本文共 2519 字,大约阅读时间需要 8 分钟。

通过索引访问元素

列表和元组都可以通过索引来访问元素:

Python文件书写标准开头模板

# -*- coding: utf-8 -*-# @Time : 2019/7/25 12:53# @Author : yaogang_li# @File : 2.2列表和元组.py
  • 一种是正向访问(从左到右),索引从0开始:第一个元素索引为0,第二个元素索引为1,.....以此类推;
  • 一种是反相访问(从右到左),索引从-1开始:倒数第一个元素索引为-1,倒数第二个元素索引为-2,....以此类推;

    my_tuple = tuple(range(3,10))print(my_tuple)

    len()函数可以获取对象元素的长度(元素数量)

    print(len(my_tuple))

    print(str("打印my_tuple第二个元素为:") + str(my_tuple[2]))
    print(str("打印my_tuple倒数第二个元素为:") + str(my_tuple[-2]))

    当你使用索引访问元素时,你的索引必须在 -len ~ len-1之间,否则程序就会报错(IndexError: tuple index out of range)

    print(str("打印my_tuple倒数第二个元素为:") + str(my_tuple[20]))

子序列

  • 列表和元组也可以使用索引获取元素中间字符,这种方法被称为slice(分片和切片)

    slice的完整格式 [start: end :step] 开始:结束:步幅

    my_list1 = str("降世魔童")print (my_list1[0:3:2])my_tuple1 = (1,3,5,8,4,2,"Python","Houdini","Maya")print(my_tuple1[0: -1 :2])

    获取子序列(元素的中间字符/序列的中间元素)

  • 元组和列表的加减

    my_list2 = ["动画电影"]              #列表my_tuple2 = (25,5,10,82,"神兵小将")  #元组print (list(my_list1) + my_list2)print (tuple(my_tuple1) + my_tuple2)print (my_list2+ list(my_tuple2))
  • 列表需要使用 [ ] 中括号括起来,元组则是 ( ) 小括号;数组则直接返回字符串不带符号(可强制返回引号 吗?)

    print(my_list1)print(my_list2)print(my_tuple2)

序列相关函数与封包解包

len()、max()、min()函数

  • len()、max()、min()函数可分别获取元组或者列表的长度、最大值、最小值

    mystr1 = "我是一个热爱生活的艺术家!"mylist1 = ["Python","Houdini","Maya","Nuke","帅刚"]mytuple1 = ("亦建","淮宝","思婷","啊凡","啊航","雅思")print(len(mystr1),max(mystr1),min(mystr1))print(len(mylist1),max(mylist1),min(mylist1))print(len(mytuple1),max(mytuple1),min(mytuple1))
  • 字符串比较大小时,将会依次按字符串中每个字符对应的编码来比较大小
  • 字符串比较大小时,先比较第一个字符的大小,再比较第二个字符....

序列封包

  • 在Python里把多个值赋予给一个变量时,Python会自动将多个值封装成元组。这种功能被称为序列封包

    data1 = 3,6,"Houdini","Nuke"print(len(data1))print(type(data1).__name__)

序列解包

  • 序列(元组或列表等)可以直接赋予多个变量,此时序列的元素会被依次赋予给每个变量(要求序列的元素个数和变量个数相等),这种功能被称为序列解包

    mylist1 = ["Python","Houdini","Maya","Nuke","帅刚"]mytuple1 = ("亦建","淮宝","思婷","啊凡","啊航","雅思")str1 = "Python","Houdini","VFX"a,b,c = str1d,e,f = mylist1[-3:]g,h,i = mytuple1[0:3]print(a,b,c,d,e,f,g,h,i)

.有时候需要解包的对象元素大于要分配的变量个数时,可以使用slice的方式获取其中一部分来解包赋值

. 封包适用于元组、列表、字符串等序列,包括(range)

j,k,l,m = range(520,524)print(j,k,l,m)
  • 当只需要解包其中一个元素给特定变量其他变量随意分配时,可以在随意分配的变量前加一个号,这样就会先按照顺序自动解包赋予上值,剩下的就会以列表的形式赋予给由号的变量

    mylist1 = ["Python","Houdini","Maya","Nuke","帅刚"]mytuple1 = ("亦建","淮宝","思婷","啊凡","啊航","雅思")n,*o,p = mystr1q,r,*s = mytuple1print(n,o,p,q,r,s)

    我 ['是', '一', '个', '热', '爱', '生', '活', '的', '艺', '术', '家'] ! 亦建 淮宝 ['思婷', '啊凡', '啊航', '雅思']

多个变量同时赋值

  • Python的赋值运算符支持同时将多个值赋予给多个变量,这是因为Python同时运用了序列的封包和解包

    t,u,v = "Python","Houdini","VFX"print(t,u,v)

    这里就是先将等号右边的三个字符串打包成元组,再依次解包赋值到对应的变量上

转载于:https://www.cnblogs.com/mlcg/p/11281910.html

你可能感兴趣的文章
窥视SP2010--第一章节--SP2010开发者路线图
查看>>
MVC,MVP 和 MVVM 的图示,区别
查看>>
C语言栈的实现
查看>>
代码为什么需要重构
查看>>
TC SRM 593 DIV1 250
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
Python-S9-Day127-Scrapy爬虫框架2
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>
右侧导航栏(动态添加数据到list)
查看>>
81、iOS本地推送与远程推送详解
查看>>
虚拟DOM
查看>>
uva 11468 Substring
查看>>
自建数据源(RSO2)、及数据源增强
查看>>
BootStrap2学习日记2--将固定布局换成响应式布局
查看>>
关于View控件中的Context选择
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
Spark的启动进程详解
查看>>
使用命令创建数据库和表
查看>>
数据库的高级查询
查看>>