python3数据结构_2.Python3数据结构

1.python3基本数据结构

1.1 数字类型

数字类型(number)分为布尔、整数、浮点数和复数。

布尔类型(bool)为True(1)和False(0)的组合。

bool1=True

bool2=False

注意:在Python2中是没有布尔型的,它用数字0表示False,用1表示True。到Python3中,把True和False定义成关键字了,但它们的值还是1和0,它们可以和数字相加。

整数类型(int)为整数

int=20

浮点数类型(float)为浮点数。

float=2.2

复数类型(complex)为复数,复数的实部a和虚部b都是浮点型

complex=1+4j

1.2 数字类型的方法

运算

# 数字类型运算

a = 1

b = 3

print(a + b)#加法

print(a - b)#减法

print(a / b)#除法

print(a * b)#乘法

print(a // b)#整除

print(a % b)#求余

print(a ** b)#乘方

输出为:

4

-2

0.3333333333333333

3

0

1

1

在混合计算时,Python会把整型转换成为浮点数。 例如:

a=1.0

b=2

print(a+b)

结果就是3.0了。

2.python3容器

python的容器分为序列、映射以及集合。

2.1序列

序列(sequence)中的每个元素都有自己的编号。序列包括列表、元组、字符串等。

2.1.1 列表和元组

列表和元组都是一种类似的序列,区别是列表可以修改,元组不能修改。

列表(list),使用[,]建立列表

list1=['hello','world']

元组(tuple),使用(,)建立元组,只含一个值的元组,必须加个逗号(,);

t1=(1,2)

t2=1,2,3

t3=(1,)

2.1.2 字符串

Python中的字符串用单引号(‘)、双引号(“)或三引号(三个单引号”’)括起来。而单双引号是为了去掉转义字符\的。字符串不能被改变,即不能向字符串某位赋值。

#这种情况下是一样的

a='str'

b="str"

c='''str'''

单引号

# 这种情况下不需要转义字符\

a='我"们"这个'

双引号

# 这种情况下不需要转义字符\

a="let's go"

三引号

# 这种情况下不需要转义字符\

a='''我们"这"'个' '''

# 这种情况下保留换行

a='''我

了'''

2.1.2.1 字符串方法

字符串不发生转义,使用r表示原始字符串

str="run\ner"

#这样会输出run

# er

str=r"run\ner"

#这样会输出run\ner

格式化

1.字符串格式化使用字符串格式化操作符即百分号%来实现。

str1='Hello,%s' % 'world.'

2.格式化操作符的右操作数可以是任何东西,如果是元组,则如下:

strs=('Hello','world') #元组

str1='%s,%s' % strs

3.对数字进行格式化处理,通常需要控制输出的宽度和精度:

str1='%.2f' % 3.1415926 #精度2

str1='%10f' % 3.1415926 #字段宽10

2.1.3 序列通用方法

索引

索引值以 0 为开始值,-1 为从末尾的开始位置。

str1='Hello'

nums=[1,2,3,4]

t1=(123,234,345)

print(str1[0])

print(nums[1])

print(t1[2])

输出为:

H

2

345

分片

分片操作用来访问一定范围内的元素。分片通过冒号相隔的两个索引来实现。

nums='1234567890'

print(nums)

print(nums[1:5])

print(nums[1:])

print(nums[-3:-1])

print(nums[-3:])

print(nums[:]) #复制整个序列

输出为:

1234567890

2345

234567890

89

890

1234567890

默认步长为1,可以对步长进行调节。

print(nums)

print(nums[0:10]) # 默认步长为1 等价于nums[1:5:1]

print(nums[0:10:2]) # 步长为2

print(nums[0:10:3]) # 步长为3

print(nums[0:10:0]) #步长为0

print(nums[-3:-1:-1]) # 步长为-2

输出为:

1234567890

1234567890

13579

1470

序列相加

序列相加只能相同类型的序列进行相加。

str1='Hello'

str2='world'

print(str1+str2)

lista=[1,2]

listb=[3,4]

print(lista+listb)

输出为:

Helloworld

[1, 2, 3, 4]

乘法

使用*符号对序列进行叠加。

str1='Hello'

print(str1*2)

输出为:

HelloHello

成员资格

in运算符会用来检查一个对象是否为某个序列(或者其他类型)的成员(即元素):

str1='Hello'

print 'H' in str1

print 'h' in str1

输出为:

True

False

长度、最小最大值

通过内建函数len、max和min可以返回序列中所包含元素的数量、最大和最小元素。

str1='Hello'

print len(str1)

print max(str1)

print min(str1)

输出为:

5

o

H

2.2 字典

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

键(key)必须使用不可变类型,即数字、字符串、元组。

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

代码如下:

a={}

a[1]=1

a['a']='a'

a[(1,2)]=1

a[2]=set([1,2])

print(a)

b={'2':'a',3:3}

print(b)

输出为:

{(1, 2): 1, 1: 1, 2: {1, 2}, 'a': 'a'}

{3:3,'2':'a'}

2.3 集合

集合(set)是一个无序不重复元素的序列。

会自动删除重复元素。

代码如下:

seta=set([1,2,3])

setb={2,3}

print(seta,setb)

输出为:

{1, 2, 3} {2, 3}

2.3.1 集合方法

a={1,2,3}

b={2,3,4}

print(a - b) # a和b的差集

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

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

print(a ^ b) # a和b中不同时存在的元素

输出为:

{1}

{1, 2, 3, 4}

{2, 3}

{1, 4}

3.总结

总结速查表格

类型

子类型

构建方式

表达含义

数字类型

bool布尔类型

True False

判定True、False

数字类型

int类型

a=2

整数

数字类型

float

a=2.0

浮点数

数字类型

complex

a=1+2j

复数

容器-序列

列表list

a=[1,2]

可变的序列

容器-序列

元组tuple

a=(1,2)

不可变的序列

容器-序列

字符串string

a=’abcd’

方便使用的序列

容器-字典

字典类型dict

a={‘1′:’a’}

主键唯一的键值对

容器-集合

集合类型set

a=set([a,b])或a={a,b}

元素不重复的集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值