Python 3.7 数据结构--小结

整体介绍一下我们学习的所有数据结构内容:.

  • list
  • Tuple
  • Dist
  • Sequence
  • Set
  • Refer
    以下分别介绍一下各组主要特点:
  • list 列表
    列表 是一种用于保存一系列有序项目的集合,也就是说,你可以利用列表保存一串项目的序 列;使用方括号
shoplist =['apple','mango','carrot','banana']
  • Tuple 元组
    元组(Tuple)用于将多个对象保存到一起。你可以将它们近似地看作列表,但是元组不能提 供列表类能够提供给你的广泛的功能。元组的一大特征类似于字符串,它们是不可变的,也 就是说,你不能编辑或更改元组。在指定项目时,你可以给它们加上括号(),并在括号内部 用逗号进行分隔。
zoo = ('python','elephant','penguin')
print('Number of animals in the zoo is ',len(zoo))
new_zoo = 'monkey','camel',zoo;
  • Dist 字典
    字典就像一本地址簿,如果你知道了他或她的姓名,你就可以在这里找到其地址或是能够联
    系上对方的更多详细信息,换言之,我们将键值(Keys)(即姓名)与值(Values)(即地
    址等详细信息)联立到一起。
    可以使用

d = {key : value1 , key2 : value2}

# 'ab'是地址(Address)簿(book)的缩写
ab = {
    'Swaroop' :'[email protected]',
    'Larry' :'[email protected]',
    'Matsumoto':'[email protected]',
    'Spammer' : '[email protected]'
    }

print("Swaroop's address is",ab['Swaroop'] )
  • Sequence
    列表、元组和字符串可以看作序列(Sequence)的某种表现形式;最主要使用in \not in和索引操作;
    所提到的序列的三种形态——列表、元组与字符串,同样拥有一种切片(Slicing)运算 符,它能够允许我们序列中的某段切片——也就是序列之中的一部分。

shoplist[:] 返回的是整个序列
shoplist[1:3] 返回的序列的一组切片将从位置1开始,包含位置 2并在位置3时结束;
shoplist[:-1] 强返回一组序列切片,其中不包括序列的最后一项项目
shoplist[::2] 返回步长为2的串;

# 从某一字符串中切片 #
print("My name is ",name)
print('characters 0 to 1 is', name[0:1])
print('characters 1 to 3 is', name[1:3])
print('characters 2 to end is', name[2:])
print('characters 1 to -1 is', name[1:-1])
print('characters start to end is', name[:])
'''
My name is  swaroop
characters 0 to 1 is s
characters 1 to 3 is wa
characters 2 to end is aroop
characters 1 to -1 is waroo
characters start to end is swaroop
'''
  • Set
    集合(Set)是简单对象的无序集合(Collection)。当集合中的项目存在与否比起次序或其出 现次数更加重要时,我们就会使用集合。 通过使用集合,你可以测试某些对象的资格或情况,检查它们是否是其它集合的子集,找到 两个集合的交集,等等。
    集合使用set([xx,xx1,xx2])
>>> bri = set(['brazil', 'russia', 'india']) 
>>> 'india' in bri True 
>>> 'usa' in bri False 
>>> bric = bri.copy()
 >>> bric.add('china')
 >>> bric.issuperset(bri) True 
>>> bri.remove('russia') 
>>> bri & bric # OR bri.intersection(bric) {'brazil', 'india'}
  • Refer
    主要注意如果是直接赋值是地址引用,对变量进行操作会影响原变量;需要使用切片赋值才不会出现这个现象。
mylist = shoplist;
mylist_slice = shoplist[:];
#注意以上区别即可。
#这个引用操作可以list\Tuple\Dist\set都可以;
#但是set是没有切片赋值的功能;所以在set里面赋值操作时需要小心;

你可能感兴趣的:(Python 3.7 数据结构--小结)