选择排序 以及 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

相关推荐

  • mysql慢查询日志进行按库切割重写文件然后分析

    需求: 把每天的慢查询日志进行按库切割 对每个库的慢查询日志进行分析 思路: 工具/功能 一般统计信息 高级统计信息 脚本 优势 mysqldumpslow 支持 不支持 perl mysql官方自带 mysqlsla 支持 支持 perl 功能强大,数据报表齐全,定制化能力强. mysql-explain-slow-log 支持 不支持 perl 无 my…

    Linux干货 2015-04-03
  • python基础语法之if,else,for,while,continue,break

    如果你了解语法的使用,内有习题可以稍作练习。

    2017-09-16
  • 通过paramiko模块远程抓取日志

        最近一直在学习python,可是工作中一直缺少机会用到这块功能.最近接到一个需求需要拉取6台客户端的某一天jetty日志.因为jetty的日志是保存在jetty的log目录下,以yyyy_mm_dd.stderrout.log的形式保存,所以我们只要创建一个脚本,传入需要查询日志的日期和需要查询日志的主机IP及…

    Python干货 2016-01-16
  • Python函数、参数及参数解构

    Python函数、参数及参数解构 函数 数学定义:y=f(x),y是x的函数,x是自变量 Python函数 由若干语句块组成的语句块、函数名称、参数列表构成,他是组织代码的最小单元 完成一定的功能 函数的作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的是为了复用,减少冗余代码 代码更加简洁美观、可读易懂 函数的分类 内建函数,如ma…

    2017-10-16
  • Python 部分知识点总结(三)

    此篇博客只是记录第五周未掌握或不熟悉的知识点,用来加深印象。

    2018-04-08
  • 通过堡垒机代理SSH运行Ansible(译)

    有一种常见的网络安全模式是阻止私有网络外部对应用服务器的所有连接(指除了业务数据外其它的连接,如后台管理系统和内部业务系统。译者注),然后使用 DMZ 区域中的 堡垒机 来选择性的将到服务器的流量加入白名单。 我们有这样的一个服务器池,只允许来自特定 IP 地址的 SSH 流量。这些服务器还由 Ansible…

    Linux干货 2015-02-14