1. 列表
列表由一系列按特定顺序排列的元素组成,在python中的标志是[]。
⑴ 增加
list.append('a') #在列表末尾添加元素
list.insert(2,'a') #在指定位置插入元素
list.extend([1,2,(3,4)]) #在列表末尾添加多个元素
注:insert耗费的计算量大于append。因为对后续元素的引用必须在内部迁移,为新元素提供空间。
⑵ 删除
1. 根据索引位置删除元素
del list[0] del通过索引删除元素,删除后,将无法再访问已删除的元素。
list.pop() pop默认删除列表末尾的元素,可通过类似pop(2)在括号中指定要删除的元素的索引,删除指定位置的元素;list.pop()可查看并储存删除的元素。
2. 根据值删除元素
list.remove(‘a’) 使用remove()只删除第一个指定的值,如果要删除的值在列表中出现了多次,需要用循环来判断是否删除所有的值。
⑶ 列表的排序
sort()方法 永久的对列表排序
list.sort() #正序
list.sort(reverse = True) #倒序
sorted()函数 对列表进行临时排序
sorted(list)
sorted(list,reverse = True)
reverse()方法 倒序打印
list.reverse()
reversed()
bisect
bisect.bisect(list,n) #找到插入值后仍保证排序的位置
bisect.insort(list,w) #向w这个位置插入值
⑷ 列表的切片
list[start,stop,step]
list[-2:] #从后向前切片
list[::-1] #颠倒列表排序
2. 元组
元组是固定长度,不可改变的python序列对象,标志是()。
tuple可以将任意序列或迭代器转化成元组。元组中的对象是不可修改的,但是可以对同一个变量重新赋值(修改整个元组)。
zip函数
zip将多个列表、元组或其他序列成对组合成一个元组列表。
zip(seq1,seq2)
m,n = zip(*some_list) #解压序列
拆分元组
高级元组拆分功能:*rest
可以从元组的开头“摘取”几个元素,*rest得到的是列表格式。
a,b,*rest = range(10)
print(a,b,rest)
这时a = 0; b = 1; rest = [2,3,4,5,6,7,8,9]
a,*rest,b = range(10)
print(a,rest,b)
这时a = 0; rest = [1,2,3,4,5,6,7,8]; b = 9
a, b, *rest = range(3)
print(a,b,rest)
这时a = 0; b = 1; rest = [2]
a, b, *rest = range(2)
print(a,b,rest)
这时a = 0; b = 1; rest = []
3. 字符串
字符串string是 Python 中最常用的数据类型。我们可以使用引号( ‘’ 或 “” )来创建字符串。
单行字符串:由一对单引号或双引号表示;
多行字符串:由一对三单引号或三双引号表示。
字符串的截取
**索引:**返回 字符串中单个字符 <字符串>[M]
**切片:**返回字符串中一段子字符串 <字符串>[M:N]
[M:N:K]对字符串切片,M开头,N结尾,K步长。
#获取星期字符串
weekStr = '星期一星期二星期三星期四星期五星期六星期日'
weekId = eval(input("请输入星期数字(1-7):"))
pos = (weekId - 1) *3
print(weekStr[pos:pos+3])
Python转义字符
转义字符 | 描述 |
---|---|
\(在行尾时) | 续航符 |
\\ | 反斜杠 |
\’ | 单引号 |
\" | 双引号 |
\e | 转义 |
\n | 换行 |
\000 | 空 |
\b | 回退 |
\r | 回车 |
Python字符串运算符
操作符 | 描述 | 例子 |
---|---|---|
+ | 字符串连接 | ‘aa’+‘bb’ 输出:‘aabb’ |
* | 重复输出相同的字符串 | ‘abc’*2 输出:‘abcabc’ |
[] | 通过索引获取字符串中的字符 | a=‘abc’ 则a[1]=‘b’ |
[:] | 截取字符串的一部分,左闭右开原则 | a=‘aabb’ 则a[1:3]=‘ab’ |
字符串处理方式
方法 | 描述 |
---|---|
str.lower() | 全部字符都小写 |
str.upper() | 全部字符都大写 |
str.title() | 首字母大写 |
str.split(sep=None) | 返回一个列表,有str根据sep被分隔的部分组成 |
str.count(sub) | 返回子串sub在str中出现的次数 |
str.replace(old,new) | 返回字符串str副本,所有old子串被替换为new |
str.center(width[,fillchar]) | 字符串str根据宽度width居中,fillchar为填充内容 |
str.strip(char) | 从str中去掉取左右侧chars中列出的字符 |
str.join(iter) | 在iter变量除最后元素外每个元素后增加一个str |
字符串类型的格式化
<模板字符串>.format(<逗号分隔的参数>)
参考文章:
https://www.jianshu.com/p/f8ca1e3d3f73