實現有很多方式,我這邊記下我寫的一種
if __name__ == '__main__':
# 資料來源
lists = [1, 2, 3, 1, 2]
# 儲存不重複的值
alists =
for list in lists:
# 為空直接新增
if len(alists) == 0:
else:
flag = false
for alist in alists:
if list == alist:
flag = true
break
# 迴圈完了之後
if flag == false:
print(alists)
if __name__ == '__main__':
strarray =
str = '1,2,3'
# 切割字串
strsplits = str.split(',')
for strsplit in strsplits:
print(strarray)
由於set集合是無序不可重複資料結構,可採用如下方式:
if __name__ == '__main__':
lista = [1, 2, 3,4,5,6,7,8,9]
listb = [2, 3,4,10,11,12,1]
# 相同元素:
print(set(lista) & set(listb))
# 不同元素:
print(set(lista) ^ set(listb))
報錯:報錯提示超過最大遞迴深度
recursionerror: maximum recursion depth exceeded in comparison
解決方案:
import sys
sys.setrecursionlimit(9000000) #這裡設定大一些
#遞迴排序
class sortclass():
def __init__(self,intarrays):
self.index = 0
self.intarrays = intarrays
self.size = len(self.intarrays) - 1
def sort(self):
self.index = self.index + 1
for i in range(0,self.size):
if self.intarrays[i] > self.intarrays[i+1]:
val = self.intarrays[i]
self.intarrays[i] = self.intarrays[i+1]
self.intarrays[i + 1] = val
if self.index == self.size:
return self.intarrays
else:
self.sort()
return self.intarrays
if __name__ == '__main__':
#排序列表[3,2,1,4],從小到大
#首先要看比較多少輪
sys.setrecursionlimit(100000)
intarrays = [3,2,1,4]
obj = sortclass(intarrays)
print(obj.sort())
if __name__ == '__main__':
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
print(c)
import random
if __name__ == '__main__':
x = [i for i in range(5)]
print(x)
random.shuffle(x)
print(x)
Python資料型別 列表型別
res list hello 能被for迴圈的型別均可作list型別轉換,字串,列表,字典l 11,22,33 print l 1 l 0 44 print l l 11,22,33,44,55 res l 0 4 2 l 頭 尾 步長 顧頭不顧尾,不是改原值,是產生新值 res1 l 複製原列表l...
Python 資料型別 列表
列表和字段都可以在原處進行修改,可以按照需求增長或縮短,並且可以包含任何型別的物件或被巢狀。列表和字典儲存的是物件的引用,而不是拷貝。列表是有序的序列,每乙個列表項的順序是固定的,這使得列表可以通過指定的偏移來索引和分片。列表是可變的序列,支援在原處修改。列表項可以是任何型別,或物件,也可以巢狀列表...
python面試之資料型別 綜合
if name main list to tuple lis 1,2,3,4,5,6 print type lis lis x tuple lis print type x x tuple to list tup 1,2,3,4,5,6 print type tup tup y list tup p...