和大家分享一个让我又爱又恨的题 从小到大排序列表
l = [33, 22, 1, 2, 2, 3, 23, 4, 56, 6, 22, 12]
Flag = 1
print(l)
while Flag <= (len(l) - 1):
for j in range(0, (len(l) - 1)): # 循环三次
if l[j] <= l[j + 1]:
continue
elif l[j] > l[j + 1]:
l[j], l[j + 1] = l[j + 1], l[j]
Flag += 1
# for i in range(0, (len(l) - 1)):
# if l[j] < l[j + 1]:
# Flag = 0
print(l)
第二种
a=[1,3,2,7,5,8,1,0]
i=len(a)-1
print(i)
while i>0:
j=0
while j<i:
if a[j]>=a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
j+=1
i-=1
print(a)
循环法 最好
a = [44, 22, 33, 85,2, 12, 90]
for i in range(0, len(a)):
for j in range(0, i):
if a <= a[j]:
a, a[j] = a[j], a
print(a)
列表法
l1 = [11, 22, 33, 85, 12, 90]
l2 = []
for i in range(0,len(l1)):
# 找出l1中最小值
a = min(l1)
# l1删除列表中最小值
l1.remove(a)
# l2 添加 l1的最小值
l2.append(a)
print(l2)
这个题就更有意思了 论 列表去重的各种方法....甚至都不认识的函数
ids = [1, 2, 3, 3, 4, 2, 3, 4, 5, 6, 1]
news_ids = []
for id in ids:
if id not in news_ids:
news_ids.append(id)
print(news_ids)
ids = [1,4,3,3,4,2,3,4,5,6,1]
ids = list(set(ids))
ids = [1,4,3,3,4,2,3,4,5,6,1]
news_ids = list(set(ids))
news_ids.sort(ids.index)
ids = [1,4,3,3,4,2,3,4,5,6,1]
func = lambda x,y:x if y in x else x + [y]
reduce(func, [[], ] + ids)
#reduce()函数作用是:把结果继续和序列的下一个元素做累积计算
map函数后,g(x)将会作用到列表的每个元素
# liebiao=set(liebiao)
ids = [1, 2, 3, 3, 4, 2, 3, 4, 5, 6, 1]
def delRepeat(liebiao):
for x in liebiao:
while liebiao.count(x) > 1:
liebiao.remove(x)
print(liebiao)
delRepeat(ids)
再就是我的笔记 经典的数据笔记
列表 元组 集合 字典
英文 list tuple set dict
可否读写 读写 只读 读写 读写
可否重复 是 是 否 是
存储方式 值 值 键(不能重复) 键值对(键不能重复)
是否有序 有序 有序 无序 无序,自动正序
初始化 [1,'a'] ('a', 1) set([1,2]) 或 {1,2} {'a':1,'b':2}
添加 append 只读 add d['key'] = 'value'
读元素 l[2:] t[0] 无 d['a']
|