常用数据类型 Common Data Types:
类型 | 例子 |
---|---|
整数 | -100 |
浮点数 | 3.1416 |
字符串 | 'hello' |
列表 | [1, 1.2, 'hello'] |
字典 | {'dogs': 5, 'pigs': 3} |
Numpy数组 | array([1, 2, 3]) |
其他类型 Others:
类型 | 例子 |
---|---|
长整型 | 1000000000000L |
布尔型 | True, False |
元组 | ('ring', 1000) |
集合 | {1, 2, 3} |
Pandas类型 | DataFrame, Series |
自定义 | Object Oriented Classes |
1. 数字Numbers:
int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3e+18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2E-12 4.53e-7j
2. 字符串String: ' '
字符串是:有序、不可变的
1 s = 'ilovepython' 2 print(s[1:5]) #out: love
常见用法:
#长度 >>> len(s) #分割 >>> s.split() #以空为分隔符,分割成列表 s.split(',') #以','为分隔符,分割成列表 #连接 s.join(list) #以s为分隔符,将list连接为字符串 #替换 >>> s.replace('part1', 'part2') #将字符串中的part1,替换成part2 #大小写转换 >>> s.upper() #转换成大写 >>> s.lower() #转换成小写 #去除多余空格 >>> s.strip() #去除两端多余空格 >>> s.lstrip() #去除开始空格 >>> s.rstrip() #去除末尾空格
分割:(返回一个列表)
>>> s = '1 2 3 4 5' >>> s.split() #按空格(包括多个空格、\t、\n等)分隔 ['1', '2', '3', '4', '5'] >>> s = '1,2,3,4,5' >>> s.split(',') #按给定值(,)分隔 ['1', '2', '3', '4', '5']
连接:(返回一个字符串)
>>> l ['1', '2', '3', '4', '5'] >>> a = ',' #以a(,)为连接符,将列表l连接成字符串 >>> a.join(l) '1,2,3,4,5'
替换:(生成一个新的字符串)
>>> s = 'hello world' >>> s.replace('world', 'python') #后部分替换字符串中的部分。 'hello python' >>> s 'hello world'
对字符串进行分析:
字符串.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。 字符串.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。 字符串.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。 字符串.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。 字符串.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。 字符串.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。 字符串.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。
判断是否含有数字、大写、小写的方法:
any(i.isdigit() for i in string)
若含有数字则返回Ture,否则返回False。
3. 列表List: [ ]
列表是:有序、可变的
1 list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] 2 tinylist = [123, 'john'] 3 4 print list # ['runoob', 786, 2.23, 'john', 70.2] 5 print list[0] # runoob 6 print list[1:3] # [786, 2.23] 7 print list[2:] # [2.23, 'john', 70.2] 8 print tinylist * 2 # [123, 'john', 123, 'john'] 9 print list + tinylist # ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
常见用法:
1 #访问 2 >>> names[2] #访问第3个元素 3 >>> names[-1] #访问最后一个元素 4 #切片 5 >>> names[1:4] #取下标1至下标4之间的数字,包括1,不包括4 6 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个 7 #添加 8 >>> names.append("NEW") #追加 9 >>> names.insert(2,"NEW") #在下标2处插入 10 #删除 11 >>> del names[2] #删除 12 >>> names.remove("Eric")#删除指定元素 13 >>> names.pop() #删除列表最后一个值 14 #扩展 15 >>> names.extend(b) #b为列表,等价于names += b 16 #统计 17 >>> names.count("Amy") #统计数量 18 #变序 19 >>> names.sort() #排序(相同类型数据) 20 >>> names.reverse() #反转 21 #查询 22 >>> names.index("Amy") #返回第一个“Amy”所在位置的下标
4. 元组Tuple: ( )
元组是:有序、不可变的
1 tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ) 2 list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] 3 tuple[2] = 1000 # 元组中是非法应用 4 list[2] = 1000 # 列表中是合法应用
常见用法:
#单元素元组 >>> a = (10,) #将列表转换为元组 >>> a = [10, 11, 12, 13, 14] >>> tuple(a) (10, 11, 12, 13, 14) #统计 >>> a.count(12) #返回所含12个数 #查询 >>> a.index(12) #返回第一个12所在位置
5. 集合Set: { }
集合是:无序、可变、不含重复元素的。
1#向集合中添加元素
2 a = {1, 2, 3, 4}
3 b = {2, 3, 4, 5}
4 a.union(b) 或 a & b #集合取交集 :{2, 3, 4}
5 a.intersection(b) 或 a | b #集合取并集 :{1, 2, 3, 4, 5}
6 a.difference(b) 或 a - b #集合取差集 :{1}
7 a.symmetric_difference(b) 或 a ^ b #集合对称差 :{1, 5}
常见用法:
#添加add、update >>> s.add(5) >>> s.update(seq) #将seq中的元素添加到s中 #删除remove、pop、discard(元素不存在时不报错) >>> a.difference_update(b) #从a中去除所有属于b的元素
frozenset类型:
不可变集合是:无序、不可变、不含重复元素的。其他类似集合类型set。
6. 字典Dict: { }
字典是:无序、key值不可变,value可变的
1 dict = {} 2 dict['one'] = "This is one" 3 dict[2] = "This is two" 4 tinydict = {'name': 'john','code':6734, 'dept': 'sales'} 5 6 print dict['one'] # This is one 7 print dict[2] # This is two 8 print tinydict # {'dept': 'sales', 'code': 6734, 'name': 'john'}
常见用法:
#get获取键值 >>> d.get(key) #检索键key的值,不存在则返回None >>> d.get(key, ob) #检索键key的值,不存在则返回数据ob #删除元素 >>> d.pop(key) #弹出键key对应的键值对 >>> d.pop(key, ob) #弹出键key对应的键值对,不存在则返回数据ob >>> del a[key] #删除键key对应的键值对 #更新字典 >>> dic1.update(dic2) #将dic1中与dic2对应键的值更新,添加没有的键值对 #查找 >>> 'key' in dic #判断key是否在dic中,以返回True或False #取值 >>> d.keys() #返回一个由所有键组成的列表 >>> d.values() #返回一个由所有值组成的列表 >>> d.items() #返回一个由所有键值对元组组成的列表