导读:
1.集合
2.内置函数
3.切片
4.运算符
5.数据类型转换
6.数据类型检查、
一、集合
集合(set)是一个 无序 不重复 元素的集。基本功能是进行成员关系测试和消除重复元素。
可以使用大括号 或者 set()函数创建set集合。
注意:创建一个空集合必须用 set() 而不是 { },因为{ }是用来创建一个空字典。
>>> student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
>>> print(student) # 重复的元素被自动去掉
{'Jim', 'Jack', 'Mary', 'Tom', 'Rose'}
>>> 'Rose' in student # membership testing( 成员测试)
True
集合的增加和删除
>>>student.add('Amy')
>>>student
{'Mary', 'Jim', 'Jack', 'Rose', 'Tom', 'Amy'}
>>>student.remove('Mary')
>>>student
{'Jim', 'Jack', 'Rose', 'Tom', 'Amy'}
set可以进行集合运算
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'b', 'c', 'd', 'r'}
>>> a - b # a和b的差集
{'b', 'd', 'r'}
>>> a | b # a和b的并集
{'l', 'm', 'a', 'b', 'c', 'd', 'z', 'r'}
>>> a & b # a和b的交集
{'a', 'c'}
>>> a ^ b # a和b中不同时存在的元素
{'l', 'm', 'b', 'd', 'z', 'r'}
>>> a = {'a', 'b', 'c', 'd'}
>>> b = {'a', 'b'}
>>> b < a # 判断b是否是a对的子集
True
要点:
1、set集合中的元素不重复,重复了它会自动去掉。
2、set集合可以用大括号或者set()函数创建,但空集合必须使用set()函数创建。
3、set集合可以用来进行成员测试、消除重复元素。
4、可用于数据清洗。
二、Python内置函数
注意:
字符串 比较符合以下规则: “0” < “A” < “a”
len
>>> len("hello itcast")
12
>>> len([1, 2, 3, 4])
4
>>> len((3,4))
2
>>> len({"a":1, "b":2})
2
注意:len在操作字典数据时,返回的是键值对个数。
max
>>> max("hello itcast")
't'
>>> max([1,4,522,3,4])
522
>>> max({"a":10, "b":2})
'b'
>>> max({"c":10, "b":2})
'c'
del
del有两种用法,一种是del加空格,另一种是del()
>>> a = 1
>>> a
1
>>> del a
>>> a
Traceback (most recent call last):
File " ", line 1, in
NameError: name 'a' is not defined
>>> a = ['a', 'b']
>>> del a[0]
>>> a
['b']
>>> del(a)
>>> a
Traceback (most recent call last):
File " ", line 1, in
NameError: name 'a' is not defined
cmp
>>> cmp("hello", "itcast")
-1
>>> cmp("itcast", "hello")
1
>>> cmp("itcast", "itcast")
0
>>> cmp([1, 2], [3, 4])
-1
>>> cmp([1, 2], [1, 1])
1
>>> cmp([1, 2], [1, 2, 3])
-1
>>> cmp({"a":1}, {"b":1})
-1
>>> cmp({"a":2}, {"a":1})
1
>>> cmp({"a":2}, {"a":2, "b":1})
-1
注意:cmp在比较字典数据时,先比较键,再比较值。
三、切片
1、切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串;
2、列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据;
3、字典 是一个 无序 的集合,是使用 键值对 保存数据。
切片操作十分有用。取一个25-35的整数数列:
>>> l = list(range(100))[25:36]
>>> l
[25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]
四、运算符
注意:
in 在对 字典 操作时,判断的是 字典的键;
in 和 not in 被称为 成员运算符.
+
>>> "hello " + "itcast"
'hello itcast'
>>> [1, 2] + [3, 4]
[1, 2, 3, 4]
>>> ('a', 'b') + ('c', 'd')
('a', 'b', 'c', 'd')
*
>>> 'ab'*4
'ababab'
>>> [1, 2]*4
[1, 2, 1, 2, 1, 2, 1, 2]
>>> ('a', 'b')*4
('a', 'b', 'a', 'b', 'a', 'b', 'a', 'b')
in
>>> 'itc' in 'hello itcast'
True
>>> 3 in [1, 2]
False
>>> 4 in (1, 2, 3, 4)
True
>>> "name" in {"name":"Delron", "age":24}
True
五、数据类型转换
常用的数据类型转换:
举例:
# int(): 将数据转换为 int 类型>>> str1 = "10" # int() 默认按10进制转换后显示 ... num1 = int(str1) # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作) ... num2 = int(3.74) >>> print(num2) 3 >>> """ ... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8 ... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16 ... #01 02 03 04 05 06 07 10 ... #01 02 ... 0B 0C 0D 0E 0F 10 ... print(num1) ... """
# float() 将数据转化为浮点数 ... str2 = "3.14" >>> f1 = float(str2) >>> print(type(f1)) <class 'float'> >>> >>> f2 = float(10) >>> print(f2) 10.0 >>>
# complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部 ... c1 = 10 + 4j >>> c2 = complex(10, 4) >>> >>> print(c1) (10+4j) >>> print(c2) # 等同与c1 (10+4j)
# str() : 转换为 字符串类型 ... num1 = 10 >>> f1 = 3.14 >>> >>> print(type(str(num1))) <class 'str'> >>> print(type(str(f1))) <class 'str'>
# repr(): 转换为表达式字符串 ... num1 = 10 >>> print(type(repr(num1))) <class 'str'>
# eval(): 将字符串形式的数据,转换为原本的类型 ... str1 = "3.14" >>> print(type(eval(str1))) <class 'float'> >>> >>> str2 = "[10, 20, 30]" >>> l = eval(str2) >>> print(type(l)) <class 'list'>
# chr: 将一个整数转换为对应的 Unicode 字符 ... s = chr(1065) >>> print(s) Щ
# ord :将一个字符转换为对应的字符编码数字 ... n = ord("A") >>> print(n) 65
# bin: 将一个整数转换为二进制 ... print(bin(1024)) # 0b 开头表示二进制数 0b10000000000
# oct:将一个整数转换为八进制 ... print(oct(1024)) # 0o 开头表示八进制数 0o2000
# hex: 将一个整数转换为十六进制 ... print(hex(1024)) # 0x 开头表示十六进制 0x400 >>> a = '100' # 此时a的类型是一个字符串,里面存放了100这3个字符 b = int(a) # 此时b的类型是整型,里面存放的是数字100 print("a=%d"%b) 结果为:a=100
六、数据类型检查
数据类型检查可以用内置函数 isinstance()实现:
>>> x = 'abc' >>> y = 123 >>> isinstance(x, str) True >>> isinstance(y, str) False def my_abs(x): if not isinstance(x, (int, float)): raise TypeError('bad operand type') if x >= 0: return x else: return -x
至此,Python的数据类型就全部讲完了。其他会提及的,后续会再补充。