python列表,元組,字典

列表: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方法將兩個列表疊加成一個字典

相關文章
相關標籤/搜索