列表
列表的标志
用方括号**([])**来表示列表,并用逗号来分隔其中的元素。
列表的创建
进行简单的列表的创建,示例:
motorcycles=['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
结果如下:
查找、修改、添加和删除列表元素
查找列表元素
用index() 查找列表中元素的下标。
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
print(motorcycles.index('suzuki'))
结果如下:
注意:索引从0而不是从1开始。
修改列表元素
指定列表名和要修改的元素的索引,再指定该元素的新值。
代码示例:
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0]='ducati'
print(motorcycles)
结果如下:
在列表中添加元素
1.在列表末尾添加元素
最简单的方法是将元素附加到列表末尾,用方法append()。
示例:
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)
结果如下:
2.在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素。
示例:
motorcycles=['honda','yamaha','suzuki']
motorcycles.insert(0,'ducati')
print(motorcycles)
结果如下:
3.在列表后添加另一个列表
用extend()把另外一个列表的完整内容追加到当前列表的末尾
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles2=['honda','ducati']
print(motorcycles2)
motorcycles.extend(motorcycles2)
print(motorcycles)
结果如下:
从列表中删除元素
1.使用del语句删除元素
示例:
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
结果如下:
2.使用方法pop()删除元素
弹出(pop),列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
示例:
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
popped_motorcycle=motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
结果如下:
3.弹出列表中任何位置处的元素
使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。
motorcycles=['honda','yamaha','suzuki']
first_owned=motorcycles.pop(0)
print('The first motorcycle I owned was a '+first_owned.title()+'.')
结果如下:
注:如果要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果要在删除元素后还能继续使用它,就使用pop()。
4.根据值删除元素
如果只知道要删除的元素的值,可使用方法remove()。
例如,我们从列表中删除值’ducati’
motorcycles=['honda','yamaha','suzuki','ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)
结果如下:
注意:方法remove()只删除第一个指定的值。
深浅拷贝
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。
浅拷贝(copy.copy()):生成了新的列表,每个元素指向原列表中的地址。(只拷贝父对象,对象中的子对象不会被拷贝)
深拷贝(copy.deepcopy()):生成了新的列表,每个元素都是新的。(父对象、子对象都拷贝)
import copy
a = [1, 2, 3, 4, 5, ['a', 'b']] # 原始对象
b = a # 赋值,传对象的引用
c = copy.copy(a) # 对象拷贝,浅拷贝
d = copy.deepcopy(a) # 对象拷贝,深拷贝
a.append(6) # 修改对象a
a[5].append('c') # 修改对象a中的['a', 'b']数组对象
print ('a = ', a)
print ('b = ', b)
print ('c = ', c)
print ('d = ', d)
运行结果:
组织列表
使用方法sort()对列表进行永久性排序
假设有一个汽车列表,并要让其中的汽车按字母顺序排列。示例:
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
结果如下:
使用函数sorted()对列表进行临时排序
函数sorted()能够按特定顺序显示列表元素,同时保留它们在列表中的原始排列顺序。
示例:
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
结果如下:
倒着打印列表
要反转列表元素的排列顺序,可使用方法reverse()。
示例:
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
结果如下:
方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse()即可。
列表的统计
确定列表的长度
使用函数len()可快速获悉列表的长度。
示例:
cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)
print(len(cars))
结果如下:
注:python计算列表元素数时从1开始,因此确定列表长度时,不会遇到差一错误。
确定元素出现的次数
用count()可以统计列表中某一个元素出现的次数
示例:
motorcycles=['honda', 'yamaha', 'suzuki', 'honda', 'ducati']
print(motorcycles)
motorcycles.count('honda')
print(motorcycles.count('honda'))
结果如下:
元组
元组的标志
元组使用()圆括号来标识。
访问、修改和删除元组
访问元组
示例:
dimensions=(200,50)
print(dimensions[0])
print(dimensions[1])
运行结果:
修改元组
虽然不能修改元组的元素,但可以给存储元组的变量赋值。
示例:
dimensions=(200,50)
print("Original dimensions:")
for dimension in dimensions:
print(dimension)
dimensions=(400,100)
print("\nModified dimensions:")
for dimension in dimensions:
print(dimension)
也可对元组进行连接组合
示例:
dimensions1 = (200,50)
dimensions2 = (400,100)
dimensions3= dimensions1+dimensions2
print(dimensions3)
结果如下:
删除元祖
元组中的元素时不允许删除的,但是我们可以使用del语句来删除整个元组
示例:
dimensions= (200,50)
print(dimensions)
del dimensions
print("After deleting dimensions : ")
print(dimensions)
运行结果:
元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
string字符串
定义
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
字符串拼接
用(+)加号可以拼接两个字符串
示例:
a="My name is "
b=a+"Tom"
print(b)
结果如下:
重复输出(*)
字符串重复输出n次:str*n
示例:
a="Tom"
print(a*3)
结果如下:
运算符表格:
字符串内建函数
方法 | 含义 |
---|---|
capitalize() | 将字符串的第一个字符转换为大写 |
casefold() | 所有字符小写 |
count(str, beg= 0,end=len(string)) | 返回 str 在 string 里面出现的次数, beg 或者 end 指定则返回指定范围内 str 出现的次数 |
center(width, fillchar) | 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格 |
join(sub) | 以字符串为分隔符,插入到sub中所有字符之间 |
lstrip() | 截掉字符串左边的空格 |
rstrip() | 删除字符串字符串末尾的空格 |
strip([chars]) | 在字符串上执行 lstrip()和 rstrip() |
find(str, beg=0 end=len(string)) | 检测 str 是否包含在字符串中 ,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
index(str, beg=0, end=len(string)) | 跟find()方法一样,只不过如果str不在字符串中会报一个异常 |
replace(old, new [, max]) | 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次 |
split(str="", num=string.count(str) | num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串 |
更多更详细:https://blog.csdn.net/panjiao119/article/details/79118936
字符串格式化问题
字符串格式化符号