python程式設計求字串s1和s2共同元素

2021-08-13 13:54:18 字數 1634 閱讀 7630

定義乙個方法intersect(self, other),返回乙個新的intset,包含同時出現在兩個集合中的元素。換句話說,s1.intersect(s2),將返回同時包含在s1和s2中元素的新intset。若s1和s2沒有共同的元素該如何處理?

增加乙個特殊方法__len__(self),若呼叫len(s),將返回s中元素的個數。

#-*- coding:utf-8 -*-

__author__ = "zhangguodong"

__time__ ="2017.11.08"

class intset(object):

def __init__(self):

self.vals = set()

def insert(self, n):

self.vals.add(n)

def member(self, n):

return n in self.vals

def remove(self, n):

try:

self.vals.remove(n)

except:

raise valueerror(str(n) + 'is not found')

def __str__(self):

vals =

for n in self.vals:

vals = map(str, vals)

vals_str = ",".join(vals)

return ''

def intersect(self, other):

intset = intset()

for i in self.vals:

if other.member(i):

intset.insert(i)

return intset

def __len__(self):

return len(self.vals)

if __name__ == '__main__':

s1 = intset()

for i in range(0, 8):

s1.insert(i)

print "the set of s1 is:" + str(s1.vals)

print "the length of s1:" + str(len(s1))

print ""

s2 = intset()

str1 = [1,2,-1,-2,3.5,5,8,6]

for i in str1:

s2.insert(i)

print "the set of s2 is:" + str(s2.vals)

print "the length of s2:" + str(len(s2))

print ""

new_obj = s1.intersect(s2)

print "the set of s1.intersect(s2) values is:"+str(new_obj)

print "the length of s1.intersect(s2):"+str(len(new_obj))

Python 程式設計基礎和字串

一 轉義符 當python見到反斜槓 也就是轉義字元時,知道應當把雙引號看做乙個字元,而不是某種資料型別的指示符。print i said don t do it i said don t do it 二 串聯倆個字串 每個程式設計師都會遇到要把倆個或多個字串連線在一起的情況,這叫做串聯 conca...

python字串和字元

python沒有字元資料型別,只有字串。字串必須在 單引號 雙引號 裡面 hello world hello world 為了和其他語言保持一致通常把 用於括住單個字元,用於括住字串 三引號 三引號中可以包含換行符 2.ascii碼和統一碼 ascll碼屬於統一碼 ascii碼 二進位制0000 0...

python字串處理1

給定乙個字串s,要求把s的前k個字元移動到s的尾部,如把字串 abcdef 前面的2個字元 a b 移動到字串的尾部,得到新字串 cdefab 稱作字串迴圈左移k位。輸入乙個字串和乙個非負整數n,要求將字串迴圈左移n次。可以使用以下語句實現字串s的輸入 s str input 可以使用以下語句實現非...