1. 程式人生 > >python面試題——python常見資料結構

python面試題——python常見資料結構

                              python面試題——python常見資料結構

文章開始把我喜歡的這句話送個大家:這個世界上還有什麼比自己寫的程式碼執行在一億人的電腦上更酷的事情嗎,如果有那就是讓這個數字再擴大十倍

Python中常見的資料結構可以統稱為容器(container)。序列(如列表和元組)、對映(如字典)以及集合(set)是三類主要的容器。

1.序列

(1)列表之list函式

list1=['hello','world']

list2=list("hello")

(2)元祖

元組與列表一樣,也是一種序列,唯一不同的是元組不能被修改(字串其實也有這種特點)

t1=tuple([1,2,3])
t2=tuple("jeff")
t3=tuple((1,2,3))

(3)字串

str1='Hello world'
print str1
print str1[0]#可以索引
for c in str1:#輸出每個字母
    print c

二、對映(字典)

1、鍵型別

字典的鍵可以是數字、字串或者是元組,鍵必須唯一。在Python中,數字、字串和元組都被設計成不可變型別,而常見的列表以及集合(set)都是可變的,所以列表和集合不能作為字典的鍵

鍵可以為任何不可變型別,這正是Python中的字典最強大的地方。

三、集合

特徵:a:可變 b:不包含重複元素

集合主要用於檢查成員資格,因此副本是被忽略的,如下示例所示,輸出的集合內容是一樣的。即不包含重複元素

set1=set([0,1,2,3,0,1,2,3,4,5])
print set1# 0 1 2 3 4 5
 
set2=set([0,1,2,3,4,5])
print set2#0 1 2 3 4 5

集合是可變的,所以不能用做字典的鍵。集合本身只能包含不可變值,所以也就不能包含其他集合:可以使用frozenset型別用於代表不可變(可雜湊)的集合:

set1=set([1])
set2=set([2])
set1.add(frozenset(set2))#利用frozenset將可變的set變為不可變的元素
print set1

 

加油吧,程式設計師!