博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础之数据类型
阅读量:5064 次
发布时间:2019-06-12

本文共 6295 字,大约阅读时间需要 20 分钟。

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
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返回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"}
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中所有的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'}
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 #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
View Code

 

 

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

 

转载于:https://www.cnblogs.com/xiongyupeng/p/7420390.html

你可能感兴趣的文章
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
“前.NET Core时代”如何实现跨平台代码重用 ——源文件重用
查看>>
【POJ1845】Sumdiv(数论/约数和定理/等比数列二分求和)
查看>>
在WPF中使用Caliburn.Micro搭建MEF插件化开发框架
查看>>
IdentityServer4-用EF配置Client(一)
查看>>
UWP: 掌握编译型绑定 x:Bind
查看>>
asp.net core系列 35 EF保存数据(2) -- EF系列结束
查看>>
WPF程序加入3D模型
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>
C#中的IEnumerable<T>知识点
查看>>
android访问链接时候报java.net.MalformedURLException: Protocol not found
查看>>
dwz ie10一直提示数据加载中
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Windows Phone Marketplace 发布软件全攻略
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
语义web基础知识学习
查看>>
hexo个人博客添加宠物/鼠标点击效果/博客管理
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
关于WPF的2000件事 02--WPF界面是如何渲染的?
查看>>