选择排序 以及 set、dict、习题练习

习题练习 仅作参考

简单的选择排序

lst1 = [8,2,4,5,6,3,1,9,7]
length = len(lst1)
for i in range(length):
maxindex = i
for j in range(i+1,length):
if lst1[maxindex] < lst1[j]:
maxindex = j
if i != maxindex:
tmp = lst1[i]
lst1[i] = lst1[maxindex]
lst1[maxindex] = tmp
print(lst1)

 

输入一个数字,打印每一位数字及其重复的次数

num = input(“>”)
d = {}
for c in num:
if not d.get(c):
d[c] = 1
continue
d[c] += 1
print(d)

方法二:

num = input(“>”)
d = {}
for c in num:
if c not in d.keys():
d[c] = 1
else:
d[c] += 1
print(d)

数字重复统计

import random

n = 100
nums = [0] * n
for i in range(n):
nums[i] = random.randint(-1000,1000)
# print(nums)

t = nums.copy()
t.sort()
print(t)
b = len(t)

 

方法二:

import random

n = 100
nums = [0] * n
for i in range(n):
nums[i] = random.randint(-1000,1000)

d = {}
for x in nums:
if x not in d.keys():
d[x] = 1
else:
d[x] += 1

print(d)
d1 = sorted(d.items())
print(d1)

 

字符串重复统计:

import random
alphabet = ‘ffjdkhfjkdshfjdkshfjdkshfjkdbghfdffweferyeuwioqifj’
words = []
for _ in range(100):
words.append(random.choice(alphabet)+random.choice(alphabet))
# print(words)
d = {}
for x in words:
d[x] = d.get(x,0) + 1
print(d)

d2 = sorted(d.items())
print(d2)

 

列表解析习题:

1-10 平方的列表

[ x**2 for x in range(10)]

求一个列表相邻两个相加的和

lst = [1,4,9,16,2,5,10,15]
[lst[i]+lst[i+1] for i in range(len(lst)-1)]

 

 

列表解析打印救救乘法表

[print(‘{}*{}={:<3}{}’.format(j,i,i*j,’\n’ if i==j else ”),end=”) for i in range(1,10) for j in range(1,i+1)]

 

生成 ID

方法一:

import random

[‘{:04}.{}’.format(n, ”.join([random.choice(bytes(range(97,123)).decode()) for _ in range(10)])) for n in range(1,101)]

方法二:

import random

[‘{:04}.{}’.format(i,”.join([chr(random.randint(97,122)) for j in range(10)])) for i in range(1,101)]

方法三:

import string
[‘{:>04}.{}’.format(i, ”.join(random.choice(string.ascii_lowercase) for _ in range(0,10))) for i in range(1,101)]

 

 

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87769

(0)
5220367552203675
上一篇 2017-10-10 16:56
下一篇 2017-10-11 14:57

相关推荐

  • python写一个通讯录之step by step

    编写过程:     第一步:手动代码堆积         第二步:函数复用         第三步:数据持久化之数据保存         第四步:数据持久化之数据读取       &nbsp…

    Linux干货 2015-03-26
  • Python爬虫入门

    自己在网上学习的一些内容,分享给大家,希望大家和我一样,可以快速掌握Python爬虫 一、爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库的高级用法 5. Python爬虫入门五之URLError异常处理 6. Pyt…

    2018-01-23
  • python– 简单的排序

    冒泡排序, 简单选择排序, 插入排序

    Python笔记 2018-04-15
  • IPython封装解构和集合

    IPython Shell命令 !command 执行shell命令 !ls -l , !touch a.txt file = !ls -l | grep py 魔术方法 使用%开头的,IPython内置的特殊方法 %magic 格式 %开头是line magic %% 开头是cell magic,notebook的cell %alias 定义一个系统命令的…

    Python笔记 2018-03-31
  • DevOps如何重构IT战略

    翻译: 至尊宝 原文: http://www.citeworld.com/article/2897738/development/how-devops-can-redefine-your-it-strategy.html?page=2   DevOps究竟是昙花一现还是你一直在寻找的竞争优势?我们咨询了一些专家,对于这种趋势他们的想法是什…

    Python干货 2015-03-26
  • enumerate用法和转置矩阵求解、效率测试

    enumerate用法和转置矩阵求解、效率测试

    2018-04-08