字符串、列表、元组
今天学习一些常用的数据类型:字符串、列表、元组
一、字符串
1. 单引号、双引号、三引号。
单引号:print('a')
双引号:print("a")。如果打印的字符串本身有单引号,则需要双引号。如:print(" it's ok!")
三引号:适用于打印的字符串中有换行符号,或者需要打印整段字符串。也可以用于注释某段代码。但是要特别注意这段代码里面不能有其他的三引号出现,否则会有问题。
需要注意,无论是 单引号、双引号还是三引号,使用中一定要成对的存在,否则就会出现错误。
2.字符串的拼接
举例:如print( 'I' + ' love' + 'Python'), 结果是:I love Python。
应用场景:当有字符串变量的值经常变化的时候,使用到拼接操作。如统计今天学习Python的时间,今天学习了60分钟,明天学习了70分钟。
time=60
print('今天学习了' + str(time) + '分钟')
另外,还可以使用字符串*数字进行拼接,如print(' I love Python' *3) 结果是:I love Python I love Python I love Python
3. 字符串的切片操作。
(1)下表
字符串是序列类型,字符串中的每个字符都对应一个下表(也可以说是序号)。正向序号是从0开始,反向序号是从-1开始。
如str1='abcd1234'
对应的正向序号是:0 1 2 3 4 5 6 7
对应的反向序号是:-8 -7 -6 -5 -4 -3 -2 -1
print (str1[0]):表示的是打印下表是0的字符,结果是a
print (str1[-1]):表示的是打印下表是-1的字符,结果是4
需要注意:下表如果越界,会报错。如果不知道长度,可以使用len()函数计算出字符串的总长度。
(2) 切片
切片的语法:[ 起始位置:终止位置 :步长 ],切片时起始位置是包含的,终止位置不包含,也就是左含有不含。
起始位置:如果是从0开始,可以省掉。如print ( str1 [ :4])
终止位置:如果切片操作持续到最后一个元素,可以省掉。如print ( str [1 : ])
步长:按照步长进行索引或寻找。
步长=-1时可以使字符串反转 print(str1[::-1])
二、列表
1. 列表的定义
定义: list1 = [], 定义了一个空列表。列表中的元素使用逗号分开如 list2 = [ 'a','b']
列表跟字符串一样,也是序列类型,有下表,也可以切片操作。其用法与字符串是一样的。
有点与字符串不一样的是,列表的元素是可以修改的,但是字符串不可以。
2. 列表的增 删 改 查
2.1 增:就是添加元素。
(1)使用append()函数。如添加1个元素到末尾print( list2.append('c') ),结果是:['a','b','c']
(2)使用insert()函数。如在下表1处插入一个元素d, print ( list2.insert(1,d)),结果是:['a','d','b']
(3)使用extend()函数。对列表进行拼接。如print ( list2.extend([1,2,3]) ),结果是:['a','b',1,2,3]
2.2 删:就是添加元素。
(1) 使用pop(下表)函数
表示把下表的元素删除。如果没有下表,则表示最后一个元素。pop函数是有返回值的,返回的是被删除的值。
(2) 使用remove(元素值)函数
表示把与参数值相等的元素删掉。如果列表中有多个值与参数中的值相等,则只删除第一个
(3) 使用del函数.
如del list2[0],表示删除list2中的第0个元素。需要主要这里的用法不再是 列表.方法
2.3 改:通过下表索引然后进行重新赋值。如list2[0]=1
三、元组
定义:tuple1 = ( 100 , 200) 。表示定义了一个元组,且由两个元素100和200
元组是不能修改的。因此无增、删、改的方法。
通常用于不想被别人修改的场景。
下表和切片操作是同样适合的。
需要注意:切片操作是把切片之后的值作为一个新的对象返回,原来被切片的对象是没有修改的。
另外,还有给多个变量赋值操作:
元组: a,b=(1,2),则a=1,b=2
列表:a,b = [1 ,2 ] , 则a=1,b=2
数组: a, b = '12' , 则a=1,b=2
a,b = (1,2)
print(a,b)#1 2
a,b = [1,2]
print(a,b)#1 2
a,b = '12'
print(a,b)#1 2