zoukankan      html  css  js  c++  java
  • 五丶Python列表丶元组丶字典

    通过索引访问元素

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

    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 = str1
      d,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 = mystr1
      q,r,*s = mytuple1
      print(n,o,p,q,r,s)
      

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

    多个变量同时赋值

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

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

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

  • 相关阅读:
    curl -L 跟随跳转
    Http报头Accept与Content-Type的区别
    curl 发送json请求
    IntelliJ 中类似于Eclipse ctrl+o的是ctrl+F12
    Spring AOP
    Windows下Nginx配置SSL实现Https访问(包含证书生成)
    @Retention n. 保留
    Exchanger使用
    Semaphore使用
    UVA12493
  • 原文地址:https://www.cnblogs.com/mlcg/p/11281910.html
Copyright © 2011-2022 走看看