Python学习笔记——数据结构

1、列表

使用中括号[ ]

#列表应该用方括号括起来

shoplist=['apple','pen','mango']
print(len(shoplist))
def printshoplist():
    print('The items are:')
    for item in shoplist:
        print(item,end=',') #使用 end 参数,这样就能通过一个空格来结束输出 工作,而不是通常的换行。
printshoplist()
print('\n', shoplist) #直接打印shoplist和上面的for遍历打印等效

shoplist.append('milk') #append用来添加
print(shoplist)

shoplist.sort()  #sort 用来排序
print(shoplist)

print(shoplist[0])  #del 用来删除
del shoplist[3]
print(shoplist)

2、元组

使用括号( )

元组类似于字符串,是不可变的,也就是说不能编辑或更改元组

zoo=('tiger','elephant','lion')
print(len(zoo))
new_zoo=('monkey',zoo)
print(len(new_zoo))
print(new_zoo[1][2])
print(len(new_zoo)+1-len(zoo))  # new_zoo的长度为2

使用索引运算符 [ ],来指定元组中的项目,如new_zoo[1][2]指元组new_zoo的第二个项目中的第三个项目;

一个空的元组用圆括号构成,如zoo=( )

但一个只有一个项目的元组,必须在项目后加上逗号,如zoo=('tiger',)

3、字典

使用大括号{ }

字典是键值keys和值values的联立,键值必须是唯一的,且只能使用不可变的对象(如字符串)作为键值;

成对的键值与值之间用冒号:分隔

#数据结构——字典
ab={
    'zhangsan':'110',
    'lisi':'111',
    'wanger':'222',
    'guana':'333'
}
print(ab['guana'])
del ab['wanger']
print(ab)
print('There are {} contacts in the phone book'.format(len(ab)))

for name,phone in ab.items():
    print('contact {} at {}'.format(name,phone))

ab['moka']='999' #往字典ab中添加一对 "键值-值"
print(ab)
#help(dict)

4、序列

序列的主要功能是资格测试;列表、元组、字符串都可看做序列的表现形式

shoplist[1:3] 返回的序列的一组切片将从位置 1 开始,包含位置 2 并在位置 3 时结 束,因此,这块切片返回的是两个项目。类似地,shoplist[:] 返回的是整个序列。-1为倒数第一个位置

#序列——切片(Slicing)
shoplist=['milk','bread','egg','latiao']
name='abcdefg'

print(shoplist[:2])#从开头位置 打印到角标2,且角标2不打印
print(shoplist[1:2])#从角标1打印到角标2,且角标2不打印
print(name[1:-1])#从角标1打印到倒数第一个位置,且倒数第一个位置不打印
print(name[:])
print(shoplist[::2])

5、引用

当你创建了一个对象并将其分配给某个变量时,变量只会查阅(Refer)某个对象,并且它也 不会代表对象本身。也就是说,变量名只是指向你计算机内存中存储了相应对象的那一部 分。

如果你希望创建一份诸如序列等复杂对象的副本(而非整数这种简单的对象 (Object)),你必须使用切片操作来制作副本。如果你仅仅是将一个变量名赋 给另一个名 称,那么它们都将“查阅”同一个对象。

'''
列表的赋值语句不会创建一份副本。你必须使用切片操作来生成一份序列的副本。
'''
shoplist=['egg','milk','bread','apple']
mylist=shoplist # mylist只是指向同一对象的另一种名称

del mylist[0]
print('shoplist is',shoplist)
print('mylist is',mylist)

secondlist=shoplist[:]  #通过生成一份完整的切片,制作一份列表的副本
del secondlist[0]
print('shoplist is',shoplist)
print('secondlist is',secondlist)



6、字符串方法

str 类同样还拥有一个简洁的方法用以 联结(Join) 序列中的项目,其中字符串 将会作为每一项目之间的分隔符,并以此生成并返回一串更大的字符串。

fengefu=' $$ '
mylist=['apple','banana','orange']
print(fengefu.join(mylist))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值