迭代工具模組
"""import itertools
# 產生abcd的全排列
itertools.permutations(
'abcd'
)# 產生abcde的五選三組合
itertools.combinations(
'abcde',3
)# 產生abcd和123的笛卡爾積
itertools.product(
'abcd'
,'123'
)# 產生abc的無限迴圈序列
itertools.cycle(
('a'
,'b'
,'c'
))
def
select_sort
(items, comp=
lambda x, y: x < y)
:"""簡單選擇排序"""
items = items[:]
for i in
range
(len
(items)-1
):min_index = i
for j in
range
(i +1,
len(items)):
if comp(items[j]
, items[min_index]):
min_index = j
items[i]
, items[min_index]
= items[min_index]
, items[i]
return items
# 定義乙個列表
nums =[45
,37,78
,95,12
,35,31
]# 列表的長度
n =len
(nums)
# i 為比較的輪次
for i in
range
(n-1):
# j 表示 下標
for j in
range
(n-i-1)
:if nums[j]
> nums[j+1]
: nums[j]
, nums[j+1]
= nums[j+1]
, nums[j]
print
(nums)
def
seq_search
(items, key)
:"""順序查詢"""
for index, item in
enumerate
(items)
:if item == key:
return index
return
-1
python基礎鞏固 資料結構和演算法6 10
乙個字典就是乙個鍵對應乙個單值的對映,如果想要乙個鍵對映多個值,就需要將多個值放大另外的容器裡,比如列表和集合 d e b 也可以使用collections模組中的defaultdict來構造這樣的字段 from collections import defaultdict d defaultdic...
鞏固python基礎
1.變數由字母,數字,下劃線組成 2.不能用數字開頭 3.禁止使用關鍵字 and as assert break class continue def del elif else except ex ec finally for from global if import in is lambda ...
Python基礎(1) 資料結構和序列
不可變列表,使用圓括號來表示 dimensions 200 50 像列表一樣,用for迴圈來遍歷 for dimension in dimensions print dimension 修改元組變數,需要重新定義 dimensions 400 100 print nmodified dimensio...