1.列表
1.1、列表是什么
列表:由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
例如:
zoran = [22,'中国人','boy','positive']
print (zoran)
输出结果:
1.2、基本操作
Python中,用方括号( [] )来表示列表,并用逗号来分隔其中的元素。
1.访问列表元素
与字符串的索引一样,列表索引从0开始。例如,访问列表zoran中的第一个元素:
zoran = [22,'中国人','boy','positive']
print (zoran[0])
print (zoran[0:2])
输出结果:
2.修改列表元素
可以对列表的数据项进行修改或更新,用append()方法在列表末尾添加新的对象。
zoran = [22,'中国人','boy','positive']
zoran[0] = 23
zoran[1] = '地球人'
zoran.append(2019)
print (zoran)
输出结果:
使用insert()方法可在列表的任何位置添加新元素,但需要指定新元素的索引和值。
zoran = [22,'中国人','boy','positive']
zoran.insert(0,2019)
print (zoran)
输出结果:
3.删除列表元素
使用 del 语句来删除列表的的元素,使用后就不能在使用它了。
zoran = [22,'中国人','boy','positive']
del zoran[0]
print (zoran)
输出结果:
使用方法 pop() 删除元素
若要将元素从列表中删除,并接着使用它的值。pop() 可删除列表末尾的元素,并让你能够接着使用它。列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
并且可以 使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素
的索引即可。
zoran = [22,'中国人','boy','positive']
print (zoran)
d_zoran = zoran.pop() #删除最后一个
print (zoran)
print (d_zoran)
first_delete = zoran.pop(0) #删除列表中第一个元素
print (zoran)
print (first_delete)
输出结果:
如果不确定该使用 del 语句还是 pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用 del 语句;如果你要在删除元素后还能继续使用它,就使用方法 pop() 。
使用方法remove()删除元素
若不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使
用方法 remove() 。
zoran = [22,'中国人','boy','positive']
print (zoran)
zoran.remove('中国人')
print (zoran)
输出结果:
4.列表拷贝
当根据现有的列表来创建一个全新的列表时,会想到用“=”。但实际上并不可以,根据实例所示:
zoran = [22,'中国人','boy','positive']
zzzz = zoran
print (zoran)
print (zzzz)
zoran.remove(22)
print (zoran)
print (zzzz)
输出结果:
如上我们将zoran赋值给zzzz,然后删除zoran中的22,结果print的zzz和zoran的值相同。究其原因,实际上只是将新变量zzzz关联到了zoran,并没有将zoran的值存储到zzzz,所以当删除zoran的值时,zzzz中的值也相应的删除。zzzz可以理解为zoran的小号”。所以如果想要做列表拷贝时,千万不要用直接赋值的方式。
Python 提供了一种新的方式来进行列表拷贝,那就是“切片”
zoran = [22,'中国人','boy','positive']
zzzz = zoran[:]
print (zoran)
print (zzzz)
zoran.remove(22)
print (zoran)
print (zzzz)
输出结果:
这才是想要的结果,zzzz 完全是全新的列表。并且在前片的时候可以选择复制的部分,例如zzzz = zoran[0:2],切前两个元素。
5.列表内置函数汇总
函数 | 描述 |
---|---|
len(list) | 返回列表元素个数 |
min(list) | 返回列表元素中的最小值 |
max(list) | 返回列表元素中的最大值 |
list.append(obj) | 用于在列表末尾添加新的对象 |
list( seq ) | 用于将元组或字符串转换为列表 |
list.count(obj) | 用于统计某个元素在列表中出现的次数 |
list.index(x[, start[, end]]) | 用于从列表中找出某个值第一个匹配项的索引位置 |
list.insert(index, obj) | 用于将指定对象插入列表的指定位置 |
list.pop([index=-1]) | 用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
list.remove(obj) | 用于移除列表中某个值的第一个匹配项 |
list.reverse() | 用于反向列表中元素 |
list.sort( key=None, reverse=False) | 用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数(reverse = True 降序) |
list.clear() | 用于清空列表,类似于 del a[:] |
list.copy() | 用于复制列表,类似于 a[:] |
2.元组
2.1、元组是什么
元组和列表类似,但使用圆括号而不是方括号来标识,定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。但元组与列表不同之处在于元组的元素不能修改。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
2.2、基本操作
1.创建元组
若元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
zoran = (22,'中国人','boy','positive')
print (zoran)
2.访问元组
元组与列表类似,下标索引从0开始。
zoran = (22,'中国人','boy','positive')
print (zoran)
print (zoran[0])
print (zoran[1:3])
输出结果:
3.修改、删除元组
元组中的元素值是不允许修改的,但可以对元组进行连接组合。
元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组。
zoran1 = (22,'中国人')
zoran2 = ('boy','positive')
zoran = zoran1 + zoran2
print (zoran1)
print (zoran2)
print (zoran)
del zoran
print (zoran)
输出结果:
如图del zoran后再想print就会出现未定义的错误。
4.元组的运算符操作
表达式 | 结果(描述) |
---|---|
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6)-连接 |
(‘Hi!’,) * 4 | (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)-复制 |
3 in (1, 2, 3) | True-元素是否存在 |
for x in (1, 2, 3): print (x,) | 1 2 3-迭代 |
6.元组内置函数汇总
方法 | 描述 |
---|---|
len(tuple) | 计算元组元素个数 |
max(tuple) | 返回元组中元素最大值 |
min(tuple) | 返回元组中元素最小值 |
tuple(seq) | 将列表转换为元组 |
3.string字符串
可以直接使用引号( ’ 或 " )来创建字符串
1.访问字符串中的值
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号来截取字符串。
zoran = 'He is a boy'
print (zoran)
print (zoran[0])
print (zoran[0:5])
输出结果:
2.更新字符串
可以截取字符串的一部分并与其他字段拼接。
zoran = 'He is a boy'
print (zoran[0:5]+' a student')
输出结果:
3.字符串内置函数
函数 | 方法描述 |
---|---|
str.capitalize() | 将字符串的第一个字母变成大写,其他字母变小写 |
str.center(width[, fillchar]) | 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格 |
str.count(sub, start= 0,end=len(string)) | 统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置 |
str.find(str, beg=0, end=len(string)) | 检测字符串中是否包含子字符串 str,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 |
str.index(str, beg=0, end=len(string)) | 跟find()方法一样,只不过如果str不在字符串中会报一个异常 |
str.isalnum() | 检测字符串是否由字母和数字组成 |
len( str ) | 返回字符串长度 |
str.lower() | 转换字符串中所有大写字符为小写 |
str.swapcase() | 用于对字符串的大小写字母进行转换 |
str.upper() | 将字符串中的小写字母转为大写字母 |
4. 字符串格式化问题
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))