Python 企業面試題集錦之Python基礎

△字符串、列表、元組、字典每一個經常使用的5個方法?

字符串:
字符串用單引號(')或雙引號(")括起來,不可變。
 s.strip(c):去除空格或指定的字符c;lstrip/rstrip;
    s.zfill(w):右對齊,寬度小於w用0前補;
    s.ljust(w,c):左對齊,寬度w,填充符c;rjust()右對齊。
    s.join(q):用"s"將序列"q"中的元素串起來;    
    s.partition(sep):以sep爲分隔符,把字符串分割,返回一個元組(包含分割符);
    s.split(sep=None, maxsplit=-1):把字符串以sep爲分隔符分割,maxsplit爲分割次數,返回一個列表(不包含分割符);
    s.find(t):返回t的最左位置,未找到,返回-1;
    s.index(t):返回t的最左位置,未找到,返回ValueError異常;
    s.capitalize():第一個字母變大寫;
    s.title():每一個單詞首字母大寫;
    s.center(width, fillchar=None):字符串內容居中,在給定的字符串長度width中內容居中,兩邊用提供的字符fillchar填充,fillchar默認爲空;
    s.count(sub, start=None, end=None):在指定位置start與end之間,計算sub字符的數量;
    s.endswith(suffix, start=None, end=None):判斷字符串在start與end位置之間是否是以某個子序列suffix結尾,相似方法還可有startwith();
    s.replace(old, new, count=None):把字符串中某個子序列old替換成一個新序列new,count是替換數,返回一個新字符串;
    s.isdigit():判斷是否全是數字;
    s.isalpha():判斷是否全是字母;
    s.isalnum():判斷是否包含字母或數字;
    s.isspace():判斷是不是空字符串;
    s[start:stop:step]:切片,截取子字符串。
 
字典:
1:無序(不能索引) 2:數據關聯性強 3:鍵值對,鍵值對。惟一一個映射數據類型。
字典的鍵必須是可哈希的,不可變類型。
在同一個字典中,鍵(key)必須是惟一的。
列表是有序的對象集合,字典是無序的對象集合。二者之間的區別在於:字典當中的元素是經過鍵來存取的,而不是經過偏移存取
1)clear(self):清除字典中的全部元素。
    2)copy(self):複製一份元組,至關於一次淺拷貝。 
    3)fromkeys(self, iter, value=None):分別以iter中的元素爲鍵,以value爲值,建立一個字典。
    4)get(self, k, d=None):獲取字典中鍵爲k的值,若是字典中不包含k,則給出d值,d默認爲None。
    5)items(self):遍歷字典的一個方法,把字典中每對key和value組成一個元組,並把這些元組放在一個相似列表的dict_items中返回。
    6)keys(self):遍歷字典鍵keys的一個方法,返回一個相似列表的dict_keys,與items方法用法相同。
    7) values(self):遍歷字典值value的一個方法,返回一個相似列表的dict_values,與items方法用法相同。
    8)pop(self, k, d=None):彈除並返回字典中鍵爲k的值。
    9)popitem(self):從字典中隨機取出一組鍵值,返回一個新的元組。
    10)setdefault(self, k, default=None):從字典中獲取鍵爲k的值,當存在k時,功能和get基本一致,當字典中不存在k時,在原字典上添加鍵爲k、值爲default的項,並返回default值。
    11)update(self, E=None, **F):給字典新增元素,沒有返回值。用法:dict.update(dict2)。

列表:
索引,切片,加,乘,檢查成員。
1、List寫在方括號之間,元素用逗號隔開。
2、和字符串同樣,list能夠被索引和切片。
三、List可使用+操做符進行拼接。
4、List中的元素是能夠改變的。
 1)append(self, p_object):在原有列表最後位置上追加新元素到列表,不生成新的列表。
    2)clear(self):清空列表裏面的元素,不生成新列表。
    3)copy(self):複製一份列表,至關於一次淺拷貝。
    5)extend(self, iterable):把iterable中的每一個元素擴展成列表的元素,iterable能夠是字符串、列表、集合、元組、字典。
    6)index(self, value, start=None, stop=None):查找列表中value元素索引位置,start與stop參數是查找起始與結束位置,默認爲None。
    7)insert(self, index, p_object):在列表index索引位置插入元素p_object,當index大於列表包含的元素個數時,在最後位置插入元素。
    8)pop(self, index=None):從列表中取出index位置的值,index默認爲None,此時彈除並返回列表中最後一個值。
    9)remove(self, value):移除列表中第一個出現的value元素,value元素不存在列表中時,則拋出ValueError。
    10)reverse(self):反轉列表元素的位置。
    11)sort(self, key=None, reverse=False):給列表中的元素排序,改變原列表!reverse默認False(升序)。【而sorted()函數是生成副本】。
    12)[start:stop:step]:切片,從列表中取出一部分元素生成一個新列表,start與stop默認爲None,step表示步長值,默認是一個接着一個切取,
        若是爲2,則表示進行隔一取一操做。步長值爲正時表示從左向右取,若是爲負,則表示從右向左取。步長值不能爲0。
    13)索引[index]:獲取索引位置index的值。

元組:
()元組的元素不能修改。
1、與字符串同樣,元組的元素不能修改。
2、元組也能夠被索引和切片,方法同樣。
3、注意構造包含0或1個元素的元組的特殊語法規則。
四、元組也可使用+操做符進行拼接。
 1)count(self, value):統計元組中包含value元素的數量,返回一個int值。
    2)index(self, value, start=None, stop=None):索引,查找元組中value元素第一個出現的位置,start與stop參數是查找起始與結束位置,默認爲None。
    3)[start:stop:step]:切片操做。

Set(集合):
集合(set)是一個無序不重複元素的序列。
可使用大括號 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。
 1)add(self, *args, **kwargs):在集合裏添加一個元素,不生成新的集合。
    2)clear(self, *args, **kwargs):清空集合裏面的元素,不生成新的集合。
    3)copy(self, *args, **kwargs):淺拷貝集合,返回一個新集合。
    4)difference(self, *args, **kwargs):傳入一個或多個參數集合對比,返回一個與參數集合不同元素的集合。
    5)discard(self, *args, **kwargs):刪除集合中的某個元素,若是這個元素沒有在集合中,不作操做。
    6)isdisjoint(self, *args, **kwargs):對比兩個集合,若空交集則返回True,沒有則返回False。
    7)issubset(self, *args, **kwargs):判斷集合的包含關係,是不是參數集合的子集。
    8)pop(self, *args, **kwargs):從集合中隨機(因集合無序)彈除並返回一個元素,若是集合爲空,則報TypeError錯誤。
    9)remove(self, *args, **kwargs):移除集合中的一個元素,這個元素必須在集合中,若是不在,則報TypeError錯誤。
    10)union(self, *args, **kwargs):兩個集合拼接返回一個新集合。
    11)update(self, *args, **kwargs):更新集合,添加集合中沒有的新元素,不返回新集合。

 

△哈希衝突迴避算法迴避有哪幾種,分別有什麼特色?
# 特色詳細參考 
http://www.javashuo.com/article/p-wmetkmgk-bp.html
1.開放地址法 一旦發生了衝突,就去尋找下一個空的散列地址 2.鏈地址法 每一個哈希表節點都有一個next指針,多個哈希表節點能夠用next指針構成一個單向鏈表,被分配到同一個索引上的多個節點能夠用這個單向鏈表鏈接起來
3.公共溢出區法  將哈希表分爲基本表和溢出表兩部分,凡是和基本表發生衝突的元素,一概填入溢出表
4.再哈希法  又叫雙哈希法,有多個不一樣的Hash函數,當發生衝突時,使用第二個,第三個,….,等哈希函數計算地址,直到無衝突。

 

 

 

 

 

 

1:爲何學習Pythonhtml

大學是計算機相關專業,公司建議使用Python,而後本身經過百度和向有學過Python的同窗瞭解了Python。
Python簡單易學,生態圈強大(各類第三方庫),應用領域衆多(數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等),
在將來我以爲是往自動化,人工智能這方面發展的,因此學習了Python。

  

2:經過什麼途徑學習Pythongit

自學(網上視頻學基礎,網上看技術博客,廖雪峯的Python教程),練項目到GitHub上面找一些小項目學習。
相關文章
相關標籤/搜索