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
View Code

 

列表的切片

技术分享
 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"]
View Code

 列表的追加

技术分享
1 names = ["james", "wade", "bosh", "kobe""curry", "paul",]
2 
3 #在列表的最后面追加元素
4 names.append( "anthony") # ["james", "wade", "bosh", "kobe", "curry", "paul", "anthony]
View Code

列表的插入

技术分享
1 names = ["james", "wade", "bosh", "paul"]
2 
3 #在“paul”前面插入“kebo”
4 print(names.insert(3, "kebo"))  # ["james", "wade", "bosh", "kebo", "paul"]
View Code

列表的修改

技术分享
1 names = ["james", "wade", "bosh", "paul"]
2 
3 #把"bosh"换成"kebo"
4 print(names[2] = "kebo") # ["james", "wade", "kebo", "paul"]
View Code

列表的删除

技术分享
 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"]
View Code

列表的扩展

技术分享
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]
View Code

列表的统计

技术分享
1 names = ["james", "wade", "bosh", "paul", "wade"]
2 
3 #统计元素个数
4 print(names.count("wade")) #2
View Code

列表的排序和翻转

技术分享
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]
View Code

获取下表操作

技术分享
1 names = ["james", "wade", "bosh", "paul", 1, 2, 3]
2 
3 print(names.index("wade")) #1
View Code

元组

元组跟列表差不多,也是存储数据,只不过元组一旦创建就不能再更改。故元组又称为只读列表

元组只有两个方法: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"}
View Code

 

删除

技术分享
 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"}
View Code

修改

技术分享
 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   
View Code

查找

技术分享
 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
View Code

其他方法

技术分享
 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‘}
View Code

 

集合操作

集合是一个无序的、不可重复的数据类型。集合的作用非常假单明了:去重和关系测试

集合相关操作

技术分享
 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
View Code

 

 

到此,我的第一篇博客就写完了,写的不好望大家多多指正。谢谢!!!

 

以上是关于python基础之数据类型的主要内容,如果未能解决你的问题,请参考以下文章

《Python学习之路 -- Python基础之切片》

Python基础之注释变量Debug调试数据类型

SQL基础之XML

python基础

python基础之数据类型和数值类型

python之基础篇——模块与包