python基础之数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础之数据类型相关的知识,希望对你有一定的参考价值。
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]) #james 2 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返回isi 10 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中所有的key 10 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 #union 14 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 #difference 18 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
到此,我的第一篇博客就写完了,写的不好望大家多多指正。谢谢!!!