zoukankan      html  css  js  c++  java
  • Python_20180424

    #!/usr/bin/env python
    # encoding: utf-8
    #索引:对于一个有序序列,可以通过索引的方法来访问对应位置的值,字符串便是
    #一个有序序列的例子,Python使用[]来对有序序列进行索引。
    s = "hello world"
    print(s[0])
    #Python中索引是从0开始的,所以索引0对应与序列的第1个元素,为了得到第五个元素
    #需要使用索引值4.

    #索引除了正向索引,Python还引入了负索引值的用法,即从后向前开始计数,例如:
    #索引-2 表示倒数第二个元素:
    print(s[5:-1])

    #分片是用来从序列中提取出想要的子序列,其用法为:var[lower:upper:step]
    #其范围包括lower,但不包括upper,step 表示取值间隔大小,如果没有默认为1.

    s = 'shi dong'
    print(s[1:3])#分片中包含的元素的个数为3-1=2

    #每隔两个元素去一个值:
    print(s[::2])
    #当step的值为负时,省略lower意味着从结尾开始分片,省略upper意味着一直分片到开头
    #从结尾开始向前分片
    print(s[::-1])
    #当给订的upper超出字符串的长度(注意:因为不包含upper,所以可以等于)时,Python并
    #不会报错,不过只会计算到结尾。
    print(s[:100])

    #!/usr/bin/env python
    # encoding: utf-8
    #列表用已对[]生成,中间的元素用,隔开,其中的元素不需要是同一类型,同时
    #列表的长度也不固定。
    l = [1,2.0,'hello']
    print(l)
    #空列表可以用[]或者list()生成:
    empty_list = []
    print(empty_list)
    #列表操作:与字符串类似,列表也支持以下的操作:
    #长度:用len查看列表长度:
    print(len(l))
    #加法和乘法:列表加法,相当于将两个列表按顺序连接:
    a = [1,2,3]
    b = [3,'hello']
    print(a + b)
    #列表与整数相乘,相当于 将列表重复相加:
    print(a*2**3)
    #列表与索引分片
    # s = "hello world"#字符串是不可以通过索引或者分片来修改的
    # s[0] = 'H'
    # print(s)

    #但是列表是可以通过索引分片来进行更改的
    a = [10,11,12,13,14]
    a[0]=100
    print(a)
    #这种赋值也适用于分片,例如,将列表的第2,3两个元素换掉:
    a[1:3] = [299,888]
    print(a)
    #这样就意味着可以通过这些分片操作来删除一些列表中的元素
    a[1:3] = []
    print(a)

    #python提供了删除列表中元素的方法'del'
    a = [1002,'a','b','c']
    del a[0]#删除某个元素
    print(a)
    #删除第二到最后一个元素
    a = [1002,'a','b','c']
    del a[1:]
    print(a)

    #删除间隔的元素:
    a = [1002,'a','b','c']
    del a[::2]
    print(a)

    #用in来看某个元素是否在某个序列(不仅仅是列表)中,用not in 来判断是否不
    #在某个序列中。
    a = [10,11,12,13,14,15]
    print(10 in a)
    print(10 not in a)
    print(19 not in a)

    #列表中可以包含各种对象,甚至可以包含列表:
    a = [10,'eleven',[12,13]]
    print(a[2])
    print(a[2][0])

    #列表中某个元素的个数count
    #1、count(ob)返回列表中元素ob出现的次数。
    a = [11,12,13,12,11]
    print(a.count(11))

    #列出列表中某个元素的位置index
    #1、index(ob)返回列表中元素ob第一次出现的索引位置,如果ob不在l中会报错。
    a = [11,12,13,12,11]
    print(a.index(12))
    #如果不存在元素,那么则会报错
    #print(a.index(18))
    #ValueError: 18 is not in list

    #改变列表的方法
    #想列表添加单个元素
    #1、append(ob)将元素ob添加到列表l的最后。
    a = [10,11,12]
    a.append(99)
    print(a)
    #append每次只添加一个元素,并不会因为这个元素是序列而将其展开:
    a.append([33,55,434])
    print(a)
    #向列表添加序列
    #1、extend(lst)将序列lst的元素一次添加到列表l的最后,作用相当于l += lst
    a.extend([22,44,11,55,77,44,90])
    print(a)

    #插入元素
    #1、insert(idx,ob)在idex处插入ob,之后的元素依次后移。
    a = [10,222,11,33,4,5,6,33]
    a.insert(2,100000
    )print(a)
    #移除元素,remove 会移除第一个找到的元素
    a = [10,11,12,13,11]
    a.remove(11)
    print(a)
    print(a.count(11))
    #弹出元素,1、pop(idx)会将索引idx处的元素删除,并返回这个元素。
    a = [10,11,12,13,14,11]
    print(a.pop(3))
    print(a)
    #排序
    #1、sort()会将列表中的元素按照一定的规则排序:
    a = [10,1,33,22,44,11,13]
    a.sort()
    print(a)
    a = [10,1,33,22,44,11,13]
    b = sorted(a)
    print(a)
    print(b)
    #列表反向
    #1、reverse()会将列表中的元素从后向前排列。
    a = [1,2,3,4,5,6]
    a.reverse()
    print(a)
    #如果不想改变原来列表中的值,可以使用这样的方法:
    a = [1,2,3,4,5,6]
    b = a[::-1]
    print(a)
    print(b)
    
    
    #可变和不可变类型
    #列表是可变的(Mutable)
    a = [1,2,3,4]
    #通过索引改变:
    a[1] = 9
    print(a)

    #通过方法改变:
    a = [1,2,3,4]
    a.insert(3,5)
    print(a)
    a.sort()
    print(a)

    #字符串是不可变的(immutable)
    s = "hello world"
    print(s)

    a = s.replace('world','shidong')
    print(s)
    print(a)

    #元组
    #基本操作:与列表相似,元组tuple也是个有序序列,但是元组是不可变的,用()生成
    t = (10,11,12,13,14)
    print(t)
    #可以索引可以切片:但是元组是不可变的:
    print(t[0])
    print(t[1:3])

    a = (10,)#容易和表达式混淆,所以元组后边加上逗号
    print(type(a))

    #将列表转换为元组:
    a = [10,11,12,13,14]
    b = tuple(a)
    print(b)
    print(a)
     
  • 相关阅读:
    ubuntu新的配置
    今天下午鼓捣android-studio的一些经验
    Sublime Text 3
    学Web前端开发,选择培训学校是关键--青岛思途
    让HTML5游戏来的更猛烈些吧!--青岛思途
    Java架构师和开发者实用工具推荐
    Java培训班4个月有用吗?
    Java培训机构如何选择才能避免被骗?
    Java跟JavaScript两者间的关系和区别
    浅谈java中的四个核心概念--思途青岛
  • 原文地址:https://www.cnblogs.com/sd880413/p/8932614.html
Copyright © 2011-2022 走看看