整體介紹一下我們學習的所有數(shù)據結構內容:.
- 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 字典
字典就像一本地址簿,如果你知道了他或她的姓名,你就可以在這里找到其地址或是能夠聯(lián)
系上對方的更多詳細信息,換言之,我們將鍵值(Keys)(即姓名)與值(Values)(即地
址等詳細信息)聯(lián)立到一起。
可以使用
d = {key : value1 , key2 : value2}
# 'ab'是地址(Address)簿(book)的縮寫
ab = {
'Swaroop' :'swaroop@qq.com',
'Larry' :'larry@163.com',
'Matsumoto':'matsumoto@aliyun.com',
'Spammer' : 'spammer@sina.com'
}
print("Swaroop's address is",ab['Swaroop'] )
- Sequence
列表、元組和字符串可以看作序列(Sequence)的某種表現(xiàn)形式;最主要使用in \not in和索引操作;
所提到的序列的三種形態(tài)——列表、元組與字符串,同樣擁有一種切片(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)。當集合中的項目存在與否比起次序或其出 現(xiàn)次數(shù)更加重要時,我們就會使用集合。 通過使用集合,你可以測試某些對象的資格或情況,檢查它們是否是其它集合的子集,找到 兩個集合的交集,等等。
集合使用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
主要注意如果是直接賦值是地址引用,對變量進行操作會影響原變量;需要使用切片賦值才不會出現(xiàn)這個現(xiàn)象。
mylist = shoplist;
mylist_slice = shoplist[:];
#注意以上區(qū)別即可。
#這個引用操作可以list\Tuple\Dist\set都可以;
#但是set是沒有切片賦值的功能;所以在set里面賦值操作時需要小心;