python生活不易 我用python程序员

2.Python3数据结构

2016-07-20  本文已影响508人  KaelQ

1.python3基本数据结构

1.1 数字类型

bool1=True
bool2=False

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

int=20
float=2.2
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容器

2.1序列

2.1.1 列表和元组

list1=['hello','world']
t1=(1,2)
t2=1,2,3
t3=(1,)

2.1.2 字符串

#这种情况下是一样的
a='str'
b="str"
c='''str'''
# 这种情况下不需要转义字符\
a='我"们"这个'
# 这种情况下不需要转义字符\
a="let's go"
# 这种情况下不需要转义字符\
a='''我们"这"'个' '''
# 这种情况下保留换行
a='''我
     换
     行
     了'''

2.1.2.1 字符串方法

str="run\ner"
#这样会输出run
#          er
str=r"run\ner"
#这样会输出run\ner
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 序列通用方法

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
str1='Hello'
print 'H' in str1 
print 'h' in str1 

输出为:

True
False
str1='Hello'
print len(str1) 
print max(str1)
print min(str1)

输出为:

5
o
H

2.2 字典

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 集合

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} 元素不重复的集合
上一篇 下一篇

猜你喜欢

热点阅读