欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习笔记—基本数据类型

程序员文章站 2022-03-28 18:17:51
基础数据类型: 六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元祖) Sets(集合) Dictionary(字典) ———————— 不可变数据(四个):Number(数字)、String(字符串)、Tuple(元祖)、Sets(集合) 可变数据 ......

基础数据类型:

六个标准的数据类型:

  •   Number(数字)
  •   String(字符串)
  •   List(列表)
  •   Tuple(元祖)
  •   Sets(集合)
  •   Dictionary(字典)

————————

不可变数据(四个):Number(数字)、String(字符串)、Tuple(元祖)、Sets(集合)

可变数据(两个):List(列表)、Dictionary(字典)

 


 

一:Number(数字)

 分为:整型(int)、浮点型(float)、布尔型(bool)、复数(complex)

 

四则运算:

>>>print(1 + 2)           #加法
3
>>>print(4.2 - 1)         #减法
3.2
>>>print(3 * 7)           #乘法
21
>>>print (102/7)           #除法
14.571
>>>print (102//7)          #除法,得到一个整数
14
>>>print(17  % 3)         #取余
2
>>>print(2 ** 4)          #乘方
32 

 注意:

  使用除法 “/” 进行计算的时候,总是返回一个浮点数,要获取整数使用 “//” 

  在有浮点型的计算中,Python会把整型转换为浮点型

 


 

二:String(字符串)

 

  Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。

  记住字符串的常用功能:

 1 >>>s="abcdef ghg k"
2 ------------------------------------------
3 >>>print(s.title()) #将字符串转换成标题 4 Abcdef Ghg K
5 >>>print(s.capitalize()) #将字符串首字母大写 6 Abcdef ghg k
7 >>>print(s.count('d',0,len(s))) #计算出子串 'd'在母串中出现的次数,默认是在整个母串中查找 8 1
9 >>>print(s.startswith('a')) #判断字符串是否以什么开头 10 True
11 >>>print(s.find('g',0,len(s))) #查找子串第一次在母串中出现的位置 12 7
13 >>>print(s.upper()) #将字符串转换成大写 14 ABCDEF GHG K
15 >>>print(s.join(['a','b','c'])) #用字符串 s 来连接列表['a','b','c'] 16 aabcdef ghg kbabcdef ghg kc
17 >>>print(s.strip()) #移除两侧空格 18 abcdef ghg k
19 >>>print(s.split()) #分割字符串,返回一个列表 20 ['abcdef', 'ghg', 'k']
21 >>>print(s.replace('g','G',1)) #替换,默认全部替换,可以设置为1,只替换一次 22 abcdef Ghg k
23 >>>print(s[0:4]) #切片,[0:4]代表将字符串s的前面4位取出来 24 abcd

 


 

三、列表(list)

 

记住字符串的常用功能:

 1 l=['a','b','cc',4]     #定义一个列表
 2  
 3 l.append(5)         #添加一个元素,l=['a', 'b', 'cc', 4, 5]
 4  
 5 l.pop()           #从尾部删除一个元素,l=['a', 'b', 'cc']
 6  
 7 l.remove('a')         #从列表中移除 'a',l=['b', 'cc', 4]
 8  
 9 l.extend(['gg','kk'])    #添加一个列表['gg','kk'], l=['a', 'b', 'cc', 4, 'gg', 'kk']
10  
11 l.reverse()          #反转一个列表,l=['kk', 'gg', 4, 'cc', 'b', 'a']
12  
13 print(l.count('kk'))     #某元素出现的次数 输出 1
14  
15 print(l.index('b'))     #元素出现的位置,输出 1
16  
17 for i in l:          #循环输出列表元素
18     print(i)
19  
20 print(l[0:4:2])       #列表切片,以步长2递增,输出['a', 'cc']

 


 

四、元组(tuple)

tuple和list非常类似,但是tuple一旦初始化就不能修改,tuple也是有序的,tuple使用的是小括号标识 ,list使用的是中括号

 1 t=('a','b','b','c')   #定义一个元组
 2  
 3 print(t.index('b'))   #索引出元素第一次出现的位置,还可以指定在某一范围里查找
 4  1
 5 print(t.count('b'))   #计算元素出现的次数
 6  2
 7 print(len(t))      #输出远组的长度
 8  4
 9 for i in t:
10     print(i)       #循环打印出元组数据
11  
12 print(t[1:3])       #切片 
13  ('b','b')

 


 

五、字典(dict)

字典是无序的,使用键-值(key-value)存储,具有极快的查找速度。

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

 

1、删除字典内所有元素

clear(self)用于删除字典内所有元素,该函数没有任何返回值。
>>> dic = {'k1':'v1','k2':'v2'}
>>> dic
{'k2': 'v2', 'k1': 'v1'}
>>> dic.clear()
>>> dic

  

2、浅复制

 

copy(self)返回一个字典的浅复制。
>>> dic = {'k1':'v1','k1':'v2'}
>>> dic.copy()
{'k1': 'v2'}
>>>

  

3、get

 

get(self, k, d=None)返回指定键的值,如果值不在字典中返回默认值,key -- 字典中要查找的键,default -- 如果指定键的值不存在时,返回该默认值值。
>>> dic = {'k1':'v1','k2':'v2'}
>>> dic.get('k1')
'v1'
>>>

  

 

4、items

 

items(self)以列表返回可遍历的(键, 值) 元组数组。
>>> dic={'name':'yaoyao','age':'21','job':'IT'}
>>> dic.items()
dict_items([('age', '21'), ('name', 'yaoyao'), ('job', 'IT')])

 

5、keys

 

keys(self)以列表返回一个字典所有的键。
>>> dic={'name':'yaoyao','age':'21','job':'IT'}
>>> dic.keys()
dict_keys(['age', 'name', 'job'])

  

6、values

 

values(self)以列表返回字典中的所有值。
>>> dic={'name':'yaoyao','age':'21','job':'IT'}
>>> dic.values()
dict_values(['21', 'yaoyao', 'IT'])

 

7、删除键

 

pop(self, k, d=None)获取并在字典中移除,k -- 要在字典中查找的键。
>>> dic={'name':'yaoyao','age':'21','job':'IT'}
>>> dic.pop('job')
'IT'
>>> dic
{'age': '21', 'name': 'yaoyao'}

  

8、popitem

 

popitem(self)获取并在字典中移除
>>> dic={'name':'yaoyao','age':'21','job':'IT'}
>>> dic.popitem()
('age', '21')
>>> dic
{'name': 'yaoyao', 'job': 'IT'}

  

9、setdefault

 

setdefault(self, k, d=None)如果key不存在,则创建,如果存在,则返回已存在的值且不修改
>>> dic={'name':'yaoyao','age':'21','job':'IT'}
>>> dic.setdefault('sex')
>>> dic
{'sex': None, 'age': '21', 'name': 'yaoyao', 'job': 'IT'}

  

10、更新

 

update(self, E=None, **F)更新
>>> dic={'name':'yaoyao','age':'21','job':'IT'}
>>> dic_1={'sex':'man'}
>>> dic.update(dic_1)
>>> dic
{'sex': 'man', 'age': '21', 'name': 'yaoyao', 'job': 'IT'}

  

  

 补充

一 、enumrate

  为一个可迭代的对象添加序号,可迭代的对象你可以理解成能用for循环的就是可迭代的。默认是编号是从0开始,可以设置从1开始

li = ["手机""电脑"'鼠标垫''游艇']
for k, i in enumerate(li,1):
    print(k,i)
1 手机
2 电脑
3 鼠标垫
4 游艇

 

课后习题

一、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

 1 l= [11,22,33,44,55,66,77,88,99]
 2 bignum=[]
 3 smallnum=[]
 4 dir={}
 5 for num in l:
 6     if num>66:
 7         bignum.append(num)
 8     if num<66:
 9         smallnum.append(num)
10     else:
11         pass
12 dir['k1']=bignum
13 dir['k2']=smallnum
14 print(dir)