1.Python的标椎数据类型

python3有6种标准数据类型

  1. number  数字

  2. string  字符串

  3. tuple   元组

  4. list    列表

  5. set     集合

  6. dictionary 字典


python3的6种标椎数据类型中:

  • 不可变数据: number(数字) string(字符串) tuple(元组)

  • 可变数据: list(列表) set(结合) dictionary(字典)


2.Python的数值运算

数值运算

  1. print(5 + 4)   #加法

  2. print(4.3-1)   #减法

  3. print(3 * 7)   #乘法

  4. print(2/4)     #2除以4得到一个浮点数 0.5

  5. print(2 // 4)  #2除以4得到一个整数 0

  6. print(4 % 3)   #取余

  7. print(2 ** 6)  #乘方


3.Python的列表(list)

列表(Python 中使用最频繁的数据类型)

  1. list = ['a','b','c','d','e','f']

  2. tinylist = [1,2,3]

  3. print(list)      #列出所有列表

  4. print(list[0])   #列出第一个元素

  5. print(list[1:3]) #列出第二个到第三个元素

  6. print(list[2:])  #列出第三个元素开始的所有元素

  7. print(list * 2)  #列表输出两次

  8. print(list[4:6]) #列出第5个元素到6个元素

  9. print(list + tinylist) #连接列表


列表设置步长----重要

list = ['a','b','c','d','e','f','g','h','i','j']


索引正向:0 1 2 3 4 5 6 7 8 9

索引反向:-10 -9 -8 -7 -6 -5 -4 -3 -2 -1

list[1:4:2] 表示在索引1到索引4的位置设置为步长2

步长的格式: 变量 = [开始索引:结束索引:长度]

步长的计算公式: 当前索引+步长=下一个索引


print(list[1:8:3])


首先截取的第一个元素是开始的元素即: b

第二个截取的元素: 第一个元素索引(1)+步长=第二个元素索引 1+3=4 所以第二个截取的元素为: e

第三个截取的元素: 第二个元素索引(4)+步长=第三个元素索引 4+3=7 所以第三个截取的元素为: h

第四个截取的元素: 第三个元素索引(7)+步长=第四个元素索引 7+3=10 上面可以看出我们是没有10这个索引的,后面的就不会再截取了

如果你的元素很多,就会按照以上的方法一直截取,直到最后无法再截取

以上就是截取的流程,所以我们一共就截取了三个元素: b e h


步长为负数时就从后往前截取,计算公式不变

步长为负数时,省略开头索引,对应的是从后往前的第一个元素开始截取

步长为负数时,省略结尾索引,对应的是从前往后的第一个元素为结束


print(list[:2:-3]) #按照公式截取的元素为: j g d

print(list[7::-2]) #按照公式截取的元素为: h f d b


4.Python的元组(tuple)

元组与列表类似,不同之处在于元组的元素不能更改,元组写在"()"中,元组的元素之间用","隔开

tuple = ('lakers','lebron','james','23','25.4')

wade = ('heat','wade','3')

print(tuple)      #输出元组的所有元素

print(tuple[0])   #输出元组的第一个元素

print(tuple[1:4]) #输出从第二个元素到第四个元素

print(tuple[2:])  #输出从第三个元素开始的所有元素

print(tuple * 2)  #输出两次元组

print(tuple + wade) #连接元组


输出结果:

('lakers', 'lebron', 'james', '23', '25.4')

lakers

('lebron', 'james', '23')

('james', '23', '25.4')

('lakers', 'lebron', 'james', '23', '25.4', 'lakers', 'lebron', 'james', '23', '25.4')

('lakers', 'lebron', 'james', '23', '25.4', 'heat', 'wade', '3')


元组与字符串类型,索引都是从"0"开始,"-1"从末尾开始的位置,截取方式与字符串相似

重要: 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表


tuple = (['lebron','james'],['lakers','23'])

print(tuple)

print(tuple[0])

可以看出元组中包含了一个列表,这时列表就成了元组的元素,在列表中我们可以改变列表中元素


tuple = (['lebron','james'],['lakers','6'])

print(tuple)

print(tuple[1])


构造包含0个或1个元素的元组比较特殊,所以有一些额外的语法规则:

tuple = () #空元组

tuple = (23,) #一个元素时,还是需要在后面加","号


string、list和tuple都属于sequence(序列)


注意:

    与字符串一样,元组的元素不能修改

    元组也可以被索引和切片,方法一样

    注意构造包含"0"或"1"个元素的元组的特殊语法规则

    元组也可以使用"+"操作符进行拼接


5.Python的集合(set)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员

基本功能是进行成员关系测试和删除重复元素

可以使用大括号"{ }"或者"set()"函数创建集合,注意:创建一个空集合必须用"set()"而不是"{ }",因为"{ }"是用来创建一个空字典


创建格式:

parame = {value01,value02,...}

或者

set('value')


重要: 使用集合时,重复的元素会被自动去掉,只显示一个

a = {'james',23,'lakers','wade',3.0,'rose',23}

print(a)


输出结果: 集合元素23只显示了一次

{3.0, 'lakers', 'wade', 'rose', 'james', 23}


set()中有重复的元素时也会自动去掉

b = set('lebroneeeeeeeeee')

print(b)


输出结果:

{'n', 'e', 'r', 'l', 'b', 'o'}


#集合的运算

a = set('abcdefghi')

b = set('adcsheshou')

print(a)

print(a - b)  #a和b的差集(将a的集合中有的但b集合中没有的取出)

print(b - a)  #b和a的差集(将b的集合中有的但a集合中没有的取出)

print(a | b)  #a和b的并集(a和b所有的)

print(a & b)  #a和b的交集(a和b都有的)

print(a ^ b)  #a和b中不同时存在的元素(相当于上述两个差集结果的总和)


输出结果为:

{'h', 'd', 'e', 'f', 'g', 'b', 'c', 'i', 'a'}

{'b', 'i', 'f', 'g'}

{'u', 'o', 's'}

{'h', 's', 'd', 'e', 'f', 'g', 'u', 'b', 'o', 'c', 'i', 'a'}

{'h', 'd', 'e', 'c', 'a'}

{'s', 'f', 'g', 'u', 'b', 'o', 'i'}


#判断元素是否存在,成员测试

name = {'james','wade','kobe','lrving'}

if 'james' in name:

    print('james在集合中')

else :

    print('james不在集合中')


输出结果为:

james在集合中


6.Python的字典(dictionary)

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

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

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


重要: 键(key)必须使用不可变类型,也就是说"键(key)"只能使用"数字,字符串,元组"这三种数据类型


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

test = {} #空字典

test['one'] = '字典一'

test[2] = '字典二'

full = {'name':'james','year':'34','number':'23','web':'www.james.com','cj':'25.4'}

 

print(test['one'])   #输出键为'one'的值

print(test[2])       #输出键为'2'的值

print(full)          #输出完整的字典

print(full.keys())   #输出所有键

print(full.values()) #输出所有值

print(full['name'])  #输出full字典中键为'name'的值


#输出结果为:

字典一

字典二

{'name': 'james', 'year': '34', 'number': '23', 'web': 'www.james.com', 'cj': '25.4'}

dict_keys(['name', 'year', 'number', 'web', 'cj'])

dict_values(['james', '34', '23', 'www.james.com', '25.4'])

james


#构造函数"dict()"可以直接从键值对序列中构建字典如下:

>>> dict([('james', 1), ('wade', 2), ('lrving', 3)])

{'james': 1, 'wade': 2, 'lrving': 3}

>>>

 

>>> {x: x**2 for x in (2, 4, 6)}

{2: 4, 4: 16, 6: 36}

>>>

 

>>> dict(james=1, wade=2, lrving=3)

{'james': 1, 'wade': 2, 'lrving': 3}


重要:

    字典类型也有一些内置的函数,例如clear() keys() values()等

    字典是一种映射类型,它的元素是键值对

    字典的关键字必须为不可变类型,且不能重复

    创建空字典使用{}


7.Python数据类型转换

有时候,需要对数据内置的类型进行转换,数据类型的转换,只需要将数据类型作为函数名即可


点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部