写给小白的Python之010:数据类型之集合、公共方…

2018-06-18 02:18:26来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

导读:

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内置函数

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 "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> a = ['a', 'b']
>>> del a[0]
>>> a
['b']
>>> del(a)
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
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的数据类型就全部讲完了。其他会提及的,后续会再补充。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python3 数据类型-列表

下一篇:学习Python的第2天