自学python记录_(2)数据类型归纳
python有六大基本数据类型:
1:字符串(string)
2:列表(list)
3:字典(dict)
4:元组(tuple)
5:数字(number)
6:集合(set)
一:字符串string
字符串是不可变数据类型。
简单的说字符串就是由数字、字母、下划线组成的一串字符。赋值时用双引号或则单引号将内容包含起来。可以将一个网址以字符串的形式定义给a
a = "https://www.baidu.com"
也可以将一串电话号码以字符串的形式复制给b
b = "110"
那“字符串是不可变数据类型”是什么意思?就是对原来的数据不能进行修改操作,这么说吧,这里的"110"就是我们的原来的数据,我们是将"110"这串字符送给了b,b的内容临时为"110",但是b的内容还是可以被其他地方比如:b = "119"。但是"110"这个原始数据是不允许修改的,比如:b.append("119"),这就是不允许的操作,因为append是将原来的东西进行添加。原来东西是字符,不能被修改,还添加个毛啊。但是我们就是想得到一个“110119”的字符怎么办呢?再创建一个呗:
c = "110119" #或则 c = b+"119"
二:列表list
列表是可变数据类型
列表的赋值形式是用这个[]中括号包含起来,其中的元素可以是各种各样的:数字,字符,字符串等等五大基本数据类型都可以作为列表的子元素,还可以列表嵌套神操作,还有二维列表,类似与C语言中的二维数组
a = [1,2,3,4,5,6] b = [12,23,"hello","daming","110"] c = [1,"2",3,4,[5,6,7,8]] print a[0] #输出列表第一个元素 print c[-1][2] #先筛选出最后一个元素,再在最后一个元素中筛选出第三个元素 print (a) #输出完整列表 print (a[0]) #输出列表第一个元素 print (a[1:3]) #输出列表第二个至第三个元素 print (a[2:]) #输出列表第三个开始至末尾的所有元素 print (b * 2) #输出列表两次 print (a + b) #输出拼接列表 a.append(7) #将原数组增加一个元素:7在最后
修改方式:
a[2] = "以前是3,现在我要等于100" a[-1] = 55 #将最后一个元素修改为55
三:字典dict
字典是可变数据类型
字典就是用来查找的嘛,知道一个key,查询对应的value,定义的时候使用一个大括号包含起来
dictDEMO = {"key0":"value0","key1":"value1","key2":"value2"}
其实给我的感觉和列表差不多,只是列表的key都是固定好的012345.....嘛,而字典呢就是key可以自己定义的列表,要不然说只有列表和字典是可变类型的数据类型,这俩本身就是一家子。(勘误:集合也是可变数据类型)
a = {45:"这是45对应的值","001":"张三家","007":"麻子家里","我说nice to meet you":"你说nice to meet you too"}
当也可以不那么非主流:
b = {"hello":"world","nice to meet you":"nice to meet you too","hanmeimei":"love lilei"} #有一个key就需要有一个对应的value,不能半吊子甩着对应的操作和列表差不多,学会了列表,就懂字典了。去看列表吧 print a['001'] #输出键为'001'的值 print a["我说nice to meet you"] #输出键为***的值 print b #输出完整的字典 print b.keys() #输出所有键 print b.values() #输出所有值
当然字典的修改方式也是神似列表的:
a['001'] = "张三搬家了,现在这里是李四的家"
四:元组tuple
元组是不可变数据类型,元组是组合的组,不是祖宗的祖
我现在也是在学习阶段,没感觉元祖有什么天大的特点,只是相比于列表来说不能修改,使用小括号包含内容,所以说,去练习列表吧
tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7 ) print tup1[0] #输出tup1第一个元素 >>>physics #输出效果 print tup2[1:5] #输出第二到第六个元素 >>>(2, 3, 4, 5) #输出效果
五:数字number
数字是不可修改数据类型
。。。。。。。。。。。。。数字我真不知道该怎么解释。。。。。。。。。。
a = 999 b = 666 c = a+b print a #输出a的数值 print b%2 #输出b除以2的余数,等于0 print c-100 #输出c减去100的值
六、集合set
集合是可变数据类型
我目前发现 集合有一个最大的特点就是自动去重,很多教程里面都有提到这个功能。集合的定义方式为这样:
setDEMO = {value01,value02,...} a = {1,2,3,4,5,88,6,5,4,3,2,4,5,6,7,99,"helloworld","麻子"}
我一直以为集合会自动从小到大排序,但是我查了一下,集合不会这样排序,但是集合会根据hash值来对成员来进行排序,具体如何实现的,就不去想了
既然可以自动去重那就不能浪费这个功能啊,表演下给列表去重
a = [1,2,88,3,4,5,6,5,4,3,2,4,5,6,7,99] b = list(set(a)) #先让列表a转换为集合,会自动去重吧,然后再转回列表来搞定
官方定义:集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
功能:基本功能是进行成员关系测试和删除重复元素。
其中可变类型有:list、dict、set
不可变类型有:number、string、tuple
最后我觉得最有用的还是字符串和列表,涉及到操作千奇百怪。特别是字符串,搭配正则表达式,卧槽,简直发现了新大陆