常用数据类型

数据类型 - 列表:

列表的功能:创建、查询、切片、增加、修改、删除、循环、排序

创建:

List=[‘a’,’b’,’c’]

查询:

List.index(‘a’)    =>0

切片:

List[0:3] 返回从索引0-3的元素,不包括3,顾头不顾尾

List[0:-1]  返回从索引0至最后一个值,但是同样包括最后一个值

List[3:6]  返回索引3-6的元素 不包括6

List[3:]  返回从3到最后所有的值

List[:3]  返回从第1个元素到索引3,但不包括3

List[::2]  返回部长为2的所有的值

List[1:6:2]  返回索引1-6的且步长为2的值

增加修改:

List.append(‘A’)  #在列表的最后追加一个A

List.insert(3,’B’)  #在列表的索引为3的位置插入一个B值

List[3] = ‘Boy’ 

List[4:6] = ‘ALEX LI’ #把索引4-6的元素改为ALEX LI,不够的元素自动增加

删除

List.pop()   #删除最后一个元素

List.remove(‘a’)  删除从左找到的第一个指定元素a

del list[2]   #用python全局的删除方法删除制定的索引元素

del list[3:7]  #删除多个元素

循环

Lists = [‘a’,’b’,’c’,’d’,’e’,’f’]

for i in lists:

       print(i)

排序:

List.sort()  #正向排序

List.reverse()  #反转

其他用法:

List.extend([1,2,3,4]) # 将一个列表,扩展到list列表中

List.clear()   #清空列表

List.copy()   #copy方法单讲

List[2][2]   嵌套列表取值

定义列表 list = []  //空列表    list= [‘ccn’,‘zj’,1,2,6,8,9,6,6,6]

单去一个值 list[1]   取出来的就是zj

list.index(1)   //取出1这个元素的索引值2

快速的取出一个值   list[list.index(1)]

list.count(6)   //查看列表中有多少重复的6

切片(顾头不顾尾)

list[0:2]   //取出索引为0,1的元素

lsit[-3:-1]    /取出索引为-3,-2的元素

list[-3:]    //从索引为-3取到最后一个元素

list[:3]  //取出索引为0,1,2的元素

list[:7:2]    //从去到索引为6的元素,中间间隔为1

list[::2]  从头取到尾,步长为2

list.append(‘zzzzzj’)   追加

List.insert(0,15)   插入索引为0的元素15

List[2] = ‘zhangjian’   修改索引值为2的元素为zhangjian

List.remove(‘1’)   删除从左找到的第一个指定元素

del list[3:7]   删除多个元素  列表中3到7的元素  还是顾头不顾尾

List.sort()   排序

List.clear()   清空列表

列表的深浅copy  

list2 = list.cpoy()    //浅copy    浅cpoy是copy列表的内存地址,元素的内存地址独立

Import copy   // 深cpoy      深cpoy是列表中所有的元素全部copy成独立的内存地址

list2 = copy.deepcopy(list)

数据类型-字符串

字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,一对单、双、或三引号中间包括的内容称之为字符串

创建字符串:

S = ‘hello ,beautiful girl,ccn 。 how are you?’

字符串的特性:有序,不可变

S.isdigit()   //判断字符串是否为数字

S.count(‘o’)   判断字符串中有几个o元素    

s.format()   格式化输出    s.swapcase()  //大写变小写,小写变大写

S.find()   //查找某一个元素的索引

s.center() //>>> s.center(20,'*')

'****hello world*****'

‘ ’.join(list)    //将list列表拼接成字符串

S.replace(‘o’,’-’,1)    //将字符串中第一个的o换成-   

S.split()    //默认以空格分离字符串  全分, 只要有空格就分离

S.split(‘o’)  //指定以o分离字符串

S.split()

数据类型-元组

元组其实和列表差不多,也是存一组数,只不过他一旦创建,便不能再修改了,所以又叫制度列表

元组的特性: 不可变,元组本身不可变,如果元组中还包含其他可变的元素,这些可变的元素可以改变

元组的功能: 查询,计数,切片

元组的使用场景:1.显示的告知别人,此处数据不可修改 2.数据库连接配置信息

Hash,一般翻译成“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。

特征:hash值是必须不可变的

用途:文件签名、md5加密、密码验证

数据类型-字典

字典一种key-vaue的数据类型,使用就像我们上学用的字典,通过笔画、字母来对应的详细内容

特性:1.key-value结构 2.可以必须可hash、切必须为不可变数据类型、必须唯一 3.可存放任意多个值、可修改、可以不唯一4.无序 5.查找速度快

查找:

>>> info = {'st1':'zhangjian','st2':'cc'}

>>> 'st2' in info

True

如何在一个变量中存储公司每个员工的个人信息?

字典一种key-value的数据类型,使用就像我们上学用的字典,通过笔画、字符来查对应页的详细内容。

特性: key-value结构   key必须可hash、且必须为不可变数据类型、必须唯一  可存放任意多个值、可修改、可以不唯一   无序  查找速度快

定义字典>>> info = {

... '张鉴':[24,'design','UI',2333],

... 'CCN':[22,'teacher','children',1222]} 

字典用法  :

查找

“CCN” in info    // 判断CCN这个key在不在字典中

info.get(“CCN”)    #获取key的value值

info[‘CCN’]     //直接输入key值获取value

>>> info['pig'] = 1    //增加

>>> info['dog'] = 2

info.pop(‘张鉴’)

多级字典嵌套 

info.setdefault(2,100)   //如果字典里有2这个key 就会把value取出来,如果没有就会创建一个key为2 value为100的值

>>> info.fromkeys(['A','B','c'])    //批量添加key值

{'A': None, 'B': None, 'c': None}

>>> info.fromkeys(['A','B','c'],'peter')

{'A': 'peter', 'B': 'peter', 'c': 'peter'}

字典循环

>>> for k in info:

...     print(k,info[k])

数据类型-集合

集合是一个无序的、不重复的数据组合

作用:1.去重,把一个列表变成集合,自动就去重了 2.关系测试,测试两组数据之间的交集、差集、并集等关系

集合中的元素有三个特征:

1.确定性(元素必须可hash)

2.互异性

3.无序性(集合中的元素没有前后之分),如集合{3,4,5}和{3,5,4}算做同一个集合

包含关系

In , not in : 判断某元素是否存在集合内 == , != ;   判断两个集合是否相等

两个集合之间一般有三种关系,相交、包含、不相交。在Python中分别用下面的方法判断:

1.set.isdisjoint(s): 判断两个集合是不是相交

2.set.issuperswr(s) : 判断集合是不是包含其他集合,等同于a>=b

3.set.issubset(s): 判断集合是不是被其他集合包含,等同于a<=b

Iphone7 = [‘alex’,’rain’,’jack’,’old_driver’]

Iphone8 = [‘alex’,’shanshan’,’jack’,’old_boy’]

both_list = []

for name in Iphone8:

If name in Iphone7:

both_list.append(name)

print(both_list)

集合是一个无序的,不重复的数据组合,它主要的作用如下:

1. 去重,把一个列表变成集合,就自动去重了

2. 关系测试,测试联组数据之前你的交集、差集、并集等关系

定义集合

S = {1,2,3,4}

>>> list

[1, 2, 2, 2, 3, 3, 4, 5, 6]

>>> set(list )

{1, 2, 3, 4, 5, 6}

S.add(10)  //增加

S.pop()    //随机删除一个数据

S.remove(1)   //指定删除1

S.discard(5)   //如果集合中没有5也不会报错

S.update([7,8,9])   //拼接

S.clear()    //清空集合

S.intersection(s2)  ==  S & s2      交集

S.difference(s2)  == s - s2   差集

S.union(s2)   == s | s2   并集

s.symmetric_difference(s2)   对称差集

S.issubset(s2)   判断s集合是不是被其他集合包含

S2.issuperset(s)   判断s集合是不是包含s2集合

S. isdisjoint(s2) 判断两个集合是不是相交  ,相交false  不相交true

原文地址:https://www.cnblogs.com/zjaiccn/p/12909547.html