python中标准的数据类型有五种:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)
数字
数字类型用于存储数值,他们是不可变类型;一旦改变数字类型就会重新分配一个新的对象。当你指定一个值的时候,Number对象就会被创建。
python中支持四种不同的数据类型:int,long(python3中统称为int),float,complex
字符串操作
字符串(String)是由数字、字母、下划线组成的一串字符、字符串是不可变类型。
一般记为:
s = "hello world"
下面列举字符串比较常用的一些方法:
1 name = "my name is {name} and i an {year} old" 2 3 #首字母变大写 4 print(name.capitaliz()) 5 6 #统计name中a出现的次数 7 print(name.count("a")) 8 9 #长度为50,字符串居中,两边“-”10 print(name.center(50, "-"))11 12 #判断字符串是否以"ld"结尾13 print(name.endswith("ld"))14 15 #字符串中查找"is",并返回其索引16 print(name,find("is"))17 18 #字符串格式化19 print(name.format(name='wade',year=23))20 21 #检测字符串是否由数字和字母组成22 print('ab23'.isalnum())23 24 #检测字符串时候只由字母组成25 print("anA".isalpha())26 27 #检测字符串是否只含有 数字28 print("123Abc".isdigit())29 30 #判读是不是一个合法的标识符31 print("a b1".isidentifier())32 33 #检测字符串中所有字母是否都大写34 print("ABCdeF".isupper())35 36 #将序列中的元素以指定的字符连接生成一个新的字符串37 print("+".join(["1", "2", "3"]))38 39 #所有字母都变成小写40 print("AbcdeFGH".lower())41 42 #所有字母都变大写43 print("AbcdeFGH".upper())44 45 #去掉字符串中的空格46 print( '\nAlex '.strip() )47 48 #把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。49 print("hello li".replace("l", "L", 2))50 51 #通过指定分隔符对字符串进行切片52 print('1+2+3+4'.split('+'))53 54 #按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表55 print('1+2\n+3+4'.splitlines())56 57 #字符串中字母大小写互换58 print("heLLo PythON".swapcase())59 60 #返回"标题化"的字符串,即所有单词都是以大写开始61 print("hello python".title())
列表、元组操作
列表是我们最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。
定义一个列表:
1 names = ["james", "wade", "bosh"]
通过下标访问列表元素(下标从0开始):
1 print(names[0]) #james2 print(names[2])#bosh
列表的切片
1 names = ["james", "wade", "bosh", "kobe", "curry", "paul", "anthony"] 2 3 #取下标1至下标4之间的数字,包括1,不包括4 4 print(names[1:4])) #[ "wade", "bosh", "kobe"] 5 6 ##取下标1至-1的值,不包括-1 7 print(names[1:-1]) #[ "wade", "bosh", "kobe", "curry", "paul"] 8 9 #如果是从头开始取,0可以忽略10 print(names[:3]) #["james", "wade", "bosh"]11 12 #如果想取到最后一个13 print(names[3:]) #[ "kobe", "curry", "paul", "anthony"]14 15 16 #后面的2是代表,每隔一个元素,就取一个17 print(names[::2]) #[["james", "bosh", "curry", "anthony"]
列表的追加
1 names = ["james", "wade", "bosh", "kobe", "curry", "paul",]2 3 #在列表的最后面追加元素4 names.append( "anthony") # ["james", "wade", "bosh", "kobe", "curry", "paul", "anthony]
列表的插入
1 names = ["james", "wade", "bosh", "paul"]2 3 #在“paul”前面插入“kebo”4 print(names.insert(3, "kebo")) # ["james", "wade", "bosh", "kebo", "paul"]
列表的修改
1 names = ["james", "wade", "bosh", "paul"]2 3 #把"bosh"换成"kebo"4 print(names[2] = "kebo") # ["james", "wade", "kebo", "paul"]
列表的删除
1 names = ["james", "wade", "bosh", "paul"] 2 3 #删除"bosh" 4 del names[2] 5 print(names) #["james", "wade", "paul"] 6 7 #可以制定元素删除 8 names.remove("paul") 9 print(names) #["james", "wade"]10 11 #还有一种删除12 names.pop() #不指定参数就删除最后一个13 print(names) #["james"]
列表的扩展
1 names = ["james", "wade", "bosh", "paul"]2 3 names2 = [1, 2, 3, 4]4 5 names.extend(names2)6 print(names) #["james", "wade", "bosh", "paul", 1, 2, 3]
列表的统计
1 names = ["james", "wade", "bosh", "paul", "wade"]2 3 #统计元素个数4 print(names.count("wade")) #2
列表的排序和翻转
1 names = ["james", "wade", "bosh", "paul", 1, 2, 3]2 3 #元素的排序4 names.sort()5 print(names) #[1, 2, 3, "bosh", "james", "paul", "wade"]6 7 #反转8 names.reverse()9 print(names) #["wade", "paul", "james", "bosh", 3, 2, 1]
获取下表操作
1 names = ["james", "wade", "bosh", "paul", 1, 2, 3]2 3 print(names.index("wade")) #1
元组
元组跟列表差不多,也是存储数据,只不过元组一旦创建就不能再更改。故元组又称为只读列表
元组只有两个方法:count、index
字典操作
字典是一种以key-value键值对存在的数据类型。字典无序,同一个字典中的key不能相同
基本形式如下:
info = { "stu01":"zhangsan" "stu02":"lisi" "stu03":"wangwu" }
下面列举字典常用方法:
增加
1 info = {2 "stu01":"zhangsan"3 "stu02":"lisi"4 "stu03":"wangwu" 5 }6 7 info["stu04"] = "zhaoliu"8 print(info) #info = {"stu01":"zhangsan", "stu02":"lisi", "stu03":"wangwu", "stu04":"zhaoliu"}
删除
1 info = { 2 "stu01":"zhangsan" 3 "stu02":"lisi" 4 "stu03":"wangwu" 5 "stu04":"zhaoliu" 6 } 7 8 #第一种方法 9 info.pop("stu02") #l返回isi10 print(info) # {"stu01":"zhangsan", "stu03":"wangwu", "stu04":"zhaoliu"}11 12 #第二种方法13 del info["stu01"]14 print(info) #{"stu03":"wangwu", "stu04":"zhaoliu"}15 16 #第三种方法, 随机删除17 info.popitem() #{"stu04":"zhaoliu"}18 print(info) #{"stu03":"wangwu"}
修改
1 info = { 2 "stu01":"zhangsan" 3 "stu02":"lisi" 4 "stu03":"wangwu" 5 "stu04":"zhaoliu" 6 } 7 8 9 info["stu02"] = "贾静雯"10 print(info) #info = { "stu01":"zhangsan", "stu02":"贾静雯", "stu03":"wangwu" , "stu04":"zhaoliu" }11
查找
1 info = { 2 "stu01":"zhangsan" 3 "stu02":"lisi" 4 "stu03":"wangwu" 5 "stu04":"zhaoliu" 6 } 7 8 print(info.get("stu02")) #lisi 9 10 print(info["stu01"]) #zhangsan
其他方法
1 info = { 2 "stu01":"zhangsan", 3 "stu02":"lisi", 4 "stu03":"wangwu" , 5 "stu04":"zhaoliu", 6 } 7 8 9 #显示dict中所有的key10 print(info.keys()) #dict_keys(['stu04', 'stu03', 'stu02', 'stu01'])11 12 #显示所有值13 print(info.values()) #dict_values(['zhaoliu', 'zhangsan', 'wangwu', 'lisi'])14 15 #setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值16 info.setdefault("stu06","贾静雯") 17 print(info) #{'stu06': '贾静雯', 'stu04': 'zhaoliu', 'stu03': 'wangwu', 'stu02': 'lisi', 'stu01': 'zhangsan'}18 19 #update() 函数把字典dict2的键/值对更新到dict里。20 dict2 = {1:2, 3:4, "stu06":"jiajingwen"}21 info.update(dict2)22 print(info) #{1: 2, 3: 4, 'stu04': 'zhaoliu', 'stu06': 'jiajingwen', 'stu01': 'zhangsan', 'stu03': 'wangwu', 'stu02': 'lisi'}
集合操作
集合是一个无序的、不可重复的数据类型。集合的作用非常假单明了:去重和关系测试
集合相关操作
1 list_1 = [1,4,5,7,3,6,7,9] 2 list_1 = set(list_1) 3 4 list_2 =set([2,6,0,66,22,8,4]) 5 print(list_1,list_2) #{1, 3, 4, 5, 6, 7, 9} {0, 2, 4, 6, 8, 66, 22} 6 7 8 9 #交集10 print( list_1.intersection(list_2) )11 print(list_1 & list_2) #{4, 6}12 13 #union14 print(list_1.union(list_2))15 print(list_2 | list_1) #{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 66, 22}16 17 #difference18 print(list_1.difference(list_2))19 print(list_1 - list_2) #{1, 3, 9, 5, 7}20 21 #对称差集22 print(list_1 ^ list_2) #{0, 1, 2, 3, 5, 7, 8, 9, 66, 22}23 24 #子集25 list_3 = set([1,3,7])26 print(list_3.issubset(list_1)) #True
到此,我的第一篇博客就写完了,写的不好望大家多多指正。谢谢!!!