python基础Datawhale任务二
任务二简介
- 列表
a. 标志
b. 基本操作(创建,append( ),pop( ) ,del( ), 拷贝)
c. 列表相关方法 - 元组
a. 标志
b. 基本操作(创建及不可变性) - string字符串
a. 定义及基本操作(+,*,读取方式)
b. 字符串相关方法 - 字符串格式化问题。
一. 列表
-
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
比如,列出班里所有同学的名字,就可以用一个list表示:classmates = [‘Michael’, ‘Bob’, ‘Tracy’]
classmates
[‘Michael’, ‘Bob’, ‘Tracy’]
变量classmates就是一个list。用len()函数可以获得list元素的个数。
- list是一个可变的有序表,所以,可以往list中追加元素到末尾:
classmates.append(‘Adam’)
classmates
[‘Michael’, ‘Bob’, ‘Tracy’, ‘Adam’]
也可以把元素插入到指定的位置,比如索引号为1的位置:
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
要删除list末尾的元素,用pop()方法:
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
删除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']
list里面的元素的数据类型也可以不同,比如:
>>> L = ['Apple', 123, True]
二. 元组
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
>>> classmates = ('Michael', 'Bob', 'Tracy')
现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple
三. string字符串
1. 简介
字符串定义:字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。
创建字符串很简单,只要用=为变量分配一个值即可。
字符串的加与乘
我们可以通过 字符串+字符串 或者 字符串*倍数 来对字符串进行简单操作:
>>> a = 'data'
>>> b = 'whale'
>>> a+b
'datawhale'
>>> (a+b)*3
'datawhaledatawhaledatawhale'
字符串的读取
对字符串内的值,我们可以用方括号 [] 进行截取,用法为 字符串[从哪个索引开始:截止到哪个索引之前] 。注意:引号后的索引为”截止到…之前“,比如 a[2:5] 就是截取的 a 中序列为2、3、4的内容:
>>> a = 'datawhale'
>>> a[2:5]
'taw'
2. 方法
center
center通过在两边添加填充字符(默认为空格)让字符串居中。
"Middle but center".center(39)
find
方法find在字符串中查找子串。如果找到,就返回子串的第一个字符的索引,否则返回-1。
title = "money is good"
title.find("is")
title.find("is",start,end)
# join
join是一个非常重要的字符串方法,其作用与split相反,用于合并序列的元素。
a=['1','2','3']
b='+'
b.join(a)
# upper/lower
返回大/小写版本
# replace
方法replace将指定子串都替换为另一个字符串,并返回替换后的结果。
"This is a test".replace("is", "eez")
# split
'1+2+3'.split('+')
如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符等)处进行拆分。
# strip
方法strip将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果。
四. 字符串格式化问题
我们经常会输出类似’亲爱的xxx你好!你xx月的话费是xx,余额是xx’之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,%f表示用浮点数替换,%x表示用十六进制整数替换。
有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
参考:
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431664106267f12e9bef7ee14cf6a8776a479bdec9b9000
https://blog.youkuaiyun.com/weixin_44025803/article/details/88974192