列表:python
a = ['a', 'b', 'c', 'abc', 1, 2, 3]
print a
數據結構
# append默認添加在最後
a.append(4)
print a
輸出:['a', 'b', 'c', 'abc', 1, 2, 3, 4]app
# index方法可以查看列表中4這個元素的下標索引是多少orm
print (a.index(4))對象
輸出:7排序
# 使用insert方法可以向列表中插入元素索引
a.insert(2,'hh')
print a
輸出:['a', 'b', 'hh', 'c', 'abc', 1, 2, 3, 4]ip
# 默認刪除最後一位,能夠添加下標刪除
a.pop(7)
print a
輸出:['a', 'b', 'hh', 'c', 'abc', 1, 2, 4]內存
# 使用remove方法可以刪除掉列表中a這個元素utf-8
a.remove('a')
print a
輸出:['b', 'hh', 'c', 'abc', 1, 2, 4]
# 使用sort方法能夠針對列表進行排序,可是列表中須要全是數字或字符串,不能既有數字也有字符串
b = [1, 2, 8, 9, 5, 6, 7]
b.sort()
print (b)
輸出:[1, 2, 5, 6, 7, 8, 9]
# 使用reverse能夠針對列表進行反序排序
b.reverse()
print(b)
輸出:[9, 8, 7, 6, 5, 2, 1]
字符串,能夠進行索引和切片操做,字符串是不可變的,可迭代的
a=‘abcd’
a[0] 爲a
a[2] 爲c
a[0:2] 爲ab (從0開始取2個,省略0爲從第一個開始,省略最後爲直接取到最後一個)
a[0:4:2] 爲ad (從0開始取,取到第4個,步長爲2)
列表[],可變類型的數據結構,可增長刪除和改變列表中的值,可迭代的
list1=['a',1,(1,),['hello','world']]
list1[1] 爲1
list1.append('123') 向列表裏面追加一個對象
list1.instert(1,‘abc’) (向list1列表中下標爲1的位置添加一個abc對象)
del能夠刪除字符串、列表和元組等
del list1[4] (刪除list1列表中的第四個元素)
list1.remove(1) (會刪除列表中第一個爲1的元素)
list1.reverse() (將list1整個列表反轉)
list1.pop() (不加下標默認從最後一個刪除,加了下標刪除下標的元素,刪除後會輸出刪除的元素內容)
list1.extend('abcd') (向列表中迭代追加a,b,c,d四個元素)
zip(list1,list2) (將列表1和列表2組合成一個新的列表)
針對字符串的操做也能夠針對列表進行操做
可迭代的內容均可以經過for循環來進行訪問
元組
能夠使用索引和切片,與字符串相同,是不可變的,可迭代的
t=('a',1,(2,)) (元組中能夠存字符串,數字,變量和元組等;元組必須加,纔是元組)
first,second,third=t (能夠使用這種方法來接受元組中的值,也叫元組的拆分)
# 使用count能夠查看某個元素的數量
tuple1=(1, 2, 3, 'abc', '789')
print (tuple1.count(3))
輸出:1
# 使用index方法可以查看某個元素的下標
print (tuple1.index('789'))
輸出:4
字典
字典{}
字典是python中的惟一的映射類型(哈希表)
字典對象是可變的,可是字典的鍵必須使用不可變對象且鍵值不能重複,一個字典中能夠使用不一樣類型的鍵值
dic1 = {'a':1, 1:123, (1,):'abc'}
dic[1] 爲123 訪問字典中的元素
len(dic1) 查看字典中有多少元素
dic1.keys() 查看dic1字典中的全部鍵值
dic1.get('a') 返回鍵值爲1的元素的值
‘a’ in dic1 能夠用in來判斷鍵值是否在字典中
dic1.has_key('a') 同上
dic1.values() 返回dic1中的全部元素
dic1.items() 將字典中的key和value保存到一個元組中,並將元組存爲一個列表
dic1.iteritems() 同items()方法,以對象形式返回字典裏的key和value
dic2 = dic1.copy() 拷貝
dic1.pop(1) 刪除字典中key爲1的key和value,並返回value,如key不存在則返回keyerror
dict(zip(list1, list2)) 可將合併後的列表建立爲字典
dict((['a',1],['b'],2)) 可直接建立字典
dict(a=1,b=2) 可直接建立字典
dic.fromkeys(range(100),100) 建立字典,value能夠爲none
for k, v in dic1: 使用for遍歷字典裏面的key和value
print "%s , %s" % (k, v)
字典練習
#!/usr/bin/python
#coding=utf-8
dic = {}
name = raw_input("Please input you name: ")
age = raw_input("Please input you age: ")
xingbie = raw_input("請輸入你的性別:(M/W)")
time.sleep()
dic['name'] = name
dic['age'] = age
dic['xingbie'] =xingbie
print dic
a1={ 'a':1,'b':2,'c':3 }
print (a1)
# 使用get方法,得到字典中key的value,若是字典中key沒有對應的value,則會顯示none
print(a1.get('a'))
輸出:1
# 使用setdefault方法,也能夠得到字典中key的value,若是字典中key沒有對應的value,則會顯示none,可是能夠在後面加上參數,若是沒有value則會顯示後面加的參數
print(a1.setdefault('c'))
輸出:3
print(a1.setdefault('d', 123))
輸出:123
# 使用keys方法能夠獲取字典中的全部key值
print(a1.keys())
輸出:dict_keys(['b', 'a', 'c'])
# 使用values方法能夠獲取字典中的全部values
print(a1.values())
輸出:dict_values([1, 2, 3])
# 可能實際操做中比較消耗內存
dic1.items() 將字典中的key和value保存到一個元組中,並將元組存爲一個列表
# 取出的值是一個對象,必須遍歷後才能取出對象的值
dic1.iteritems() 同items()方法,以對象形式返回字典裏的key和value
# 使用formkeys能夠把l列表做爲n字典的key值,將後面的參數做爲n字典的value
l = ['a', 'b', 'c']
m = {}
n = m.fromkeys(l, 789)
print (n)
# 使用zip方法將兩個列表疊加成一個字典