python 只取年月日 字符串_Python学习100天-Day03(字符串、列表、字典、元组)

DAY03-字符串、列表、字典、元组

python 只取年月日 字符串_Python学习100天-Day03(字符串、列表、字典、元组)_第1张图片

一、字符串

要明确一个重要的概念,字符串在python中是序列。例如,如果我们有一个含有四个字符的字符串,我们通过内置的len函数验证它的长度,通过索引操作区的各个元素。

s='spam'len(s)#4s[0]#'s's[1]#'p'

在python中,索引是从0开始,如此类推。大家要留意一个地方,python变量不需要提前声明,赋值给它的时候就创建了它,可以赋值任何类型的对象。

我们除了正向索引,还可以反向索引:

s[-1]#'m's[-2]#'a'

所以,如果取得字符串最后一位有两个方法,一个是反向索引取,一个是正向取最后一位索引号。

s[-1]s[len(s)-1]

除了索引,序列还支持分片操作,例如

s[1:3]#pa

大家会发现,1:3 只取了两位字符,这个我后来反现,python好多时候的范围操作都是前开后闭,就是[1:3] 实际包含的只是1,2。除了常规的切片操作,还有一些变体操作,例如

s[1:]#'pam's[:3]#'spa's[:-1]#'spa's[:]#'spam'

除此之后,字符串也有其他一些运算操作:

s+'xyz'#'spamxyz's-'pa' #TypeError: unsupported operand type(s) for -: 'str' and 'str's*2#'spamspam's/2 # TypeError: unsupported operand type(s) for /: 'str' and 'int'

字符串还有一个重要的特性,就是不可变性,就是说不能通过对某一个位置进行赋值而改变字符串。例如:

s='spam's[0]='z'#TypeError: 'str' object does not support item assignmenter

二、列表

列表也是序列的一种,也具备有索引,切片的功能。

L=[134,'lbj',34.3]L[0]L[-1]len(L)L[:-1]L+[1,2,3]L*2#134#34.3#3#[134, 'lbj']#[134, 'lbj', 34.3, 1, 2, 3]#[134, 'lbj', 34.3, 134, 'lbj', 34.3]

列表还有一些特定的操作,例如列表是没有固定类型的约束,可以一个列表包含多种类型,而且列表没有固定的大小,可以按照需求随时增加或者减少列表大小。但是要主要的是列表不允许引用不存在的索引元素,例如:

L[10] #IndexError: list index out of range

列表有两个比较重要的操作,增加和减少:

L.append('wo') L.pop(0) # 括号里面是索引号L#['lbj', 34.3, 'wo']

列表的嵌套,列表中嵌套列表,这个可以理解为是其他编程语言中的数组:

M=[[1,2,3],[2,6,7],[5,4,7]]M[1]M[1][2]#[2, 6, 7]#7

三、字典

python中的字典是完全不同的东西,它不是序列,而是一种映射,简单理解就是键映射到值,具有可变性,可以随时增加和减少。我们看一个例子:

D={'name':'lbj','color':'yellow','qt':5}

这个字典包含了三个元素,不是6个,它的键分别为:'name','color','qt'。然后字典的索引不是数字,而且键,而且可以进行运算。

D['name']D['qt']+=1D#'lbj'#{'name': 'lbj', 'color': 'yellow', 'qt': 6}

字典还有不同的创建方法:

D={}D['name']='jack'D['job']='worker'D['age']=28D#{'name': 'jack', 'job': 'worker', 'age': 28}

字典的嵌套操作,这个也复杂一些,先看一下例子,例子中字典嵌套了字典和列表,其实操作是跟一样的,只是需要搞清楚取出的值是列表还是字典,或者是字符串。

R={'name':{'first':'LEE','last':'jack'}, 'job':['worker','manger'], 'age':28}R['name']R['name']['last']R['job'][-1]#{'first': 'LEE', 'last': 'jack'}#'jack'#'manger'

字典的迭代,我在学for循环的时候再给大家介绍吧。

四、元组

元组就是一个不可以改变的列表,它也是序列,具有不可以改变性,语法上编写的是圆括号。

T=(1,2,3,4)T[0]len(T)#1#4

元组有两个专用的方法:

第一个是查询4的在元组的位置,就是索引号。第二个是查询2的在元组里面的出现次数。

T.index(4) T.count(2)#3#1

补充知识点

在学习索引的时候,在教程中会常常遇到一些索引类似:

T='123456abc'T[::2]#'135ac'

这里要给大家扩展一个知识点,切片的完整写法的[起点:终点:步长]。T[::2] 的意思是,取整个列表,从0开始,步长为2,就是1,3,5,a,c。

今天的学习就到这里了,因为元组不常用,所以介绍的边幅比较少,主要是列表和字典比较重要。如果大家有疑问的可以留言给我,明天我们学习一下Python的分支结构。

你可能感兴趣的:(python,只取年月日,字符串)