自学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

最后我觉得最有用的还是字符串和列表,涉及到操作千奇百怪。特别是字符串,搭配正则表达式,卧槽,简直发现了新大陆

posted on 2018-09-25 21:26  脚让一让  阅读(197)  评论(0编辑  收藏  举报

导航