数字(number)(参考链接戳这里)
特点:
- 1. 不可变数据类型
- 2.可以使用del语句删除一些数字类型的引用
- 3. python3支持三种数值类型:
int: python3中的int型数据不限制长度,因此Python3 没有 Python2 的 Long 类型。
float: 含有小数部分,可以用科学计数法表示2.5e5,这等于2.5*10**5,都是浮点类型。
complex: 复数的实部a和虚部b都是浮点型,可以用complex(a, b)或a+bj表示
- 4. 数据类型转换:float(a), int(a),complex(a, b)
- 5. 运算符:**(平方),// (取整), /(返回浮点数)
// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
a = 4.0
b = 2
print(a//b)
结果:
2.0
常用的数学函数:
- 返回int型的常见函数:
abs(a): 返回a绝对值
math. ceil(a): 向上取整
math. floor(a): 向上取整
- 返回float:
math. fabs(a): 返回a绝对值
math. log(a): a的对数
math. sqrt(x): x的平方根
- 返回值取决于参数:
pow(a, b): 即,a **b
round(a, [,n]): 返回浮点数a的四舍五入值,n表示四舍五入到小数点后的位数
随机数函数:
- random(): 随机生成下一个实数,范围在[0, 1)内
- shuffle(lst): 将序列的所有元素随机排序
- uniform(x, y): 随机生成下一个随机数,范围[x, y]
列表(list)
特点:
- 1、访问方式:和字符串一样,list可以被索引和切片,可以用下标索引
- 2、“+”: List可以使用+操作符进行拼接。
- 3、“*”: list * a(整数), 表示list重复a次并拼接
- 4、可变数据结构:List中的元素是可以改变的。比如 list1[1] = 2
翻转字符串:
if __name__ == "__main__":
inputwords = input().split(" ")
# 翻转字符串
# 假设列表 list = [1,2,3,4],
# list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
# inputWords[-1::-1] 有三个参数
# 第一个参数 -1 表示最后一个元素
# 第二个参数为空,表示移动到列表末尾
# 第三个参数为步长,-1 表示逆向
inputwords = inputwords[-1::-1]
print(inputwords)
# 重新组合字符串
output = ' '.join(inputwords)
print(output)
输入:
1 2 3 4 5
输出:
['5', '4', '3', '2', '1']
5 4 3 2 1
元组
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
特点:
- 1,2,3特点与列表相同
- 4. 不可变的数据结构:不可以用a[1] = 1的方式改变元组中的元素,不可以使用append()增加元素
- 5. 构造1或0个元素的元组:a = (1, ); a = ()
- 6. tuple中的元素:虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
a = (1,2,[[3,4,"ab"],5,6])
print(a)
a[2][0] = [1,2]
print(a)
输出:
(1, 2, [[3, 4, 'ab'], 5, 6])
(1, 2, [[1, 2], 5, 6])
序列:str、list、tuple都是序列,特点是可以重复,有顺序,可以用下标访问。总结这三种数据结构的共同语法:
- 1. 可以切片,可以用下标索引
- 2. 可以用+、*,不可以用-(减号)
- 3. 判断元素是否在序列中in、not in
- 4. 序列中元素个数:len()
- 5. 判断序列中的最大、最小元素max()、min()
- 6. 判断字符的ascii码,如ord('w')
集合(set)
集合(set)基本功能是进行成员关系测试和删除重复元素。集合中的对象是无序的、不重复。
特点:
- 1. 同序列特点3和4
- 2. 不可以+、*,可以用-求差集, &求交集,| 求并集,^求两个集合中不同时存在的元素
- 3. 定义空集为set(), 不可以用{}
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
字典(dictionary)
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
特点如下:
- 是一种集合,有许多key和value,每一对都不重复
- 使用key来获取value,如 a[key1]
- 键(key)必须使用不可变类型, 如int, str, tuple,且字典的关键字不能重复。
- value可用的类型有:str、int、tuple、float、list、set、dict
- 空字典{}
字典中的内置函数有:clear()、keys()、values()
直接从键值对序列中构建字典的三种方法
>>> dict1 = dict([(1, "abc"),(2,"123"),("def",2)])
>>> print(dict1)
{1: 'abc', 2: '123', 'def': 2}
>>> dict2 = {x: x **2 for x in [1,2,3]}
>>> dict2
{1: 1, 2: 4, 3: 9}
>>> dict3 = dict(a = 1, b = 2, c = 3) # 这里的a,b,c不可以带引号或者换成其他数据类型,否则提示:keyword can't be an expression
>>> dict3
{'a': 1, 'b': 2, 'c': 3}
常见的python数据类型转换(详见链接)
dict(d): 创建一个字典。d 必须是一个 (key, value)元组序列
tuple(s): 将序列 s 转换为一个元组
list(s): 将序列 s 转换为一个列表
chr(x): 将一个整数转换为一个字符
参考链接:https://www.runoob.com/python3/python3-number.html