数值类型和序列类型
六大数据类型
数字 | 整数(int)、浮点数(float)、复数(complex)、布尔型(bool) |
字符串 | str |
列表 | list |
元组 | tuple |
集合 | sets |
字典 | Dictionary |
不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合)可变数据(两个):List(列表)、Dictionary(字典)。 |
int:整数
folat:浮点数
complex:复数
bool:布尔型(特殊的数值类型,只有True和False两个值)
查看数据类型:>>>type()
数值的基本运算
加法 | + |
减法 | - |
乘法 | * |
除法 | / |
取整除 | // |
取余 | % |
幂 | ** |
精确计算
注意,PYTHON因无法计算小数点,所以现需要借助内置库来完成。
>>>import decimal
>>>b = decimal.Decimal(‘2’)
>>>a = decimal.Decimal(‘2.3’)
>>>a-b
Decimal(‘0.3’)
向下取整
>>>5//2
2
>>>13//3
4
>>>17//3
5
# 也可以直接用int()取整
>>> a = 3.75
>>> int(a)
3
向上取整:
>>> import math
>>> math.ceil(3.25)
4.0
>>> math.ceil(3.75)
4.0
>>> math.ceil(4.85)
5.0
序列类型
- 字符串:
””
(单引号、双引号或者三引号都可以)str
- 列表:
[]
list
- 元组:
()
tuple
通用操作
索引取值
list[0]
列表名和脚标,脚标从零开始
>>> l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> l[0]
1
>>> l[8]
9
切片
list[0:10:2]
表示取脚标从0开始(包括0)到10(不包括10)的元素,步长为2
>>> l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> l[0:7:2]
[1, 3, 5, 7]
列表的操作
增
append
默认增加到列表的末尾
>>> mylist = [1,2,3,4,5]
>>> mylist.append(6)
>>> mylist
[1, 2, 3, 4, 5, 6]
insert
可以指定添加到的位置,第一个参数为插入的位置,第二个参数为要添加的内容
>>> mylist = [1,2,3]
>>> mylist.insert(1,8)
>>> mylist
[1, 8, 2, 3]
extend
在一个列表中添加多个元素
>>> mylist = [1,2]
>>> mylist.extend([3,4,5])
>>> mylist
[1, 2, 3, 4, 5]
删
pop
指定脚标删除元素,如果不加参数,默认删除列表的最后一个元素
>>> mylist = [1,2]
>>> mylist.extend([3,4,5])
>>> mylist
[1, 2, 3, 4, 5]
>>> mylist = [1,2,3,4]
>>> mylist.pop(0)
1
>>> mylist
[2, 3, 4]
>>> mylist.pop()
4
>>> mylist
[2, 3]
remove
删除指定的值,该值可以是整数,可以是字符串,也可以是浮点数
>>> mylist = ['a',1,3.14,666]
>>> mylist.remove(1)
>>> mylist
['a', 3.14, 666]
>>> mylist.remove('a')
>>> mylist
[3.14, 666]
>>> mylist.remove(3.14)
>>> mylist
[666]
clear
删除该列表的所有元素
>>> mylist = [1,2,2,3,4,5]
>>> mylist.clear()
>>> mylist
[]
改
索引取值,然后替换
>>> mylist = [1,2,3,4,5]
>>> mylist[2] = 'python'
>>> mylist
[1, 2, 'python', 4, 5]
查
index
查看该元素的脚标
>>> mylist = ['hello','world','你好','世界']
>>> mylist.index('hello')
0
count
统计指定元素出现的次数
>>> mylist = [1,2,2,3,3,3,4,4,4,4]
>>> mylist.count(3)
3
+
合并列表的所有元素
>>> mylist1 = [1,2,3]
>>> mylist2 = [4,5,6]
>>> mylist = mylist1 + mylist2
>>> mylist
[1, 2, 3, 4, 5, 6]
其他操作方法
reverse
将列表所有元素倒过来排序
>>> mylist
[1, 2, 3, 4, 5, 6]
>>> mylist.reverse()
>>> mylist
[6, 5, 4, 3, 2, 1]
sort
将列表元素按照0-9 a-z
的排序方法,但被排序列表不能数值和字符串并存,如果字符串里包含中文,那在排序的时候中文最后
>>> mylist = ['b','a','d','e','c','f']
>>> mylist.sort()
>>> mylist
['a', 'b', 'c', 'd', 'e', 'f']
copy
将列表的所有元素复制到指定列表
>>> mylist1 = [1,2,3]
>>> mylist2 = []
>>> mylist2 = mylist1.copy()
>>> mylist2
[1, 2, 3]
字符串的操作
查
方法 | 参数 | 概述 | 备注 |
---|---|---|---|
count |
字符串 | 统计该值在字符串中出现的次数 | |
find |
字符串 | 查找该值在列表中位置(脚标) | 如果查找的元素值不存在,则返回-1 |
index |
如果查找的元素值不存在,则报错 | ||
isdigit |
空 | 判断列表元素是否纯数字 | 只返回True 或者False |
isalpha |
判断列表元素是否纯英文 | ||
startswith |
字符串 | 判断字符串是否以该字符开头 | |
endswith |
判断字符串是否以该字符结尾 | ||
islower |
字符串 | 判断字符串是否纯小写 | 只返回True 或者False |
isupper |
判断字符串是否纯大写 |
>>> s = '123456789000abcedfghijklmnopqrstuvwxyz'
>>> s.count('0')
3
>>> s.find('p')
27
>>> s.index('p')
27
>>> s.isdigit()
False
>>> s.isalpha()
False
>>> s.startswith('1')
True
>>> s.startswith('2')
False
>>> s.endswith('1')
False
>>> s.endswith('z')
True
>>> s.islower()
True
>>> s.isupper()
False
改
方法 | 参数 | 概述 | 备注 |
---|---|---|---|
upper |
空 | 大写字符串 | |
lower |
小写字符串 | ||
strip(lstrip,rstrip) |
空 | 删除头尾空格(只删除左边、只删除右边) | |
capitalize |
空 | 大写第一个英文字符 | |
title |
空 | 大写每一个单词的第一个字母 | |
split |
值 | 以该值分割字符串 | 该值可以指字符串,可以是数字或者标点 |
删
replace
视觉上是替换,但事实上字符串是不能修改的,它是删除该字符然后换上另外一个字符
>>> mystr = 'hello'
>>> mystr.replace('h', '')
'ello'
>>> mystr.replace('e', '')
'hllo'
>>> mystr.replace('llo', '')
'he'
增
字符串的拼接,+
表示
>>> mystr1 = 'hello'
>>> mystr2 = 'python'
>>> mystr = mystr1 + mystr2
>>> mystr
'hellopython'
字符串的转义
方法 | 定义 | 备注 |
---|---|---|
\n |
换行 | |
\t |
水平制表符 | |
\b |
退格 | 删除\前的一个字符 |
\r |
回车,当前位置移动到本行开头 | |
\\ |
代表反斜杠 | |
\' |
代表一个单引号,同样的,双引号亦然 | |
\0 |
代表一个空字符 | |
\a |
系统提示音 | 输出后系统提示音响一下 |
如果需要取消转义,只要在字符串前加参数r 即可 |
元组的操作
因元组属于不可转变对象,所以不能往复转换,需要转换成列表操作,之后转换成元组,然后赋值给变量
>>> t = (1,2,3,4,'hello')
>>> l = list(t)
>>> l
[1, 2, 3, 4, 'hello']
# 剩下的就是列表的操作了
注:元组可查,
count
和index
可用,方法亦然