选择排序 以及 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面向对象基础

    语言分类 面向机器 抽象成机器指令,让机器容易理解 代表:汇编语言 面向过程 按照步骤一步一步走,若出现情况A做相应的处理,若出现情况B做相应的处理 问题规模小,可以步骤化,按部就班处理 代表:C 面向对象OOP 计算机需要处理的问题的规模越来越大,需要多人、多部门协作 代表:C++、Java、Python 面向对象 一种认识世界、分析世界的方法论。将万事万…

    2018-05-06
  • Python内置数据结构——列表

    知识框架图 学习笔记 数据结构分类 数值 int、float、complex、bool都是class int:长整型,没有上限,取决于内存区域大小 float:支持十进制和科学计数法,仅支持双精度 complex:复数,有实数和虚数部分 bool:int的子类,True、False对应1、0,可以和整数直接运算 序列对象 字符串str 列表list 元组tu…

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

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

    Linux干货 2015-02-14
  • python中list,tuple和字符串的处理方法和函数比较

    列表list的定义和初始化list() -> new empty listlist(iterable) -> new list initialized from iterable’s itemslst=[1,[],’we’,None]iterable可迭代对象可以是列表,元组,字符串.列表中的元素可以是任意元素…

    2017-09-24
  • Python函数式编程指南(四):生成器

    生成器是迭代器,同时也并不仅仅是迭代器,不过迭代器之外的用途实在是不多,所以我们可以大声地说:生成器提供了非常方便的自定义迭代器的途径。 这是函数式编程指南的最后一篇,似乎拖了一个星期才写好,嗯…… 转载请注明原作者和原文地址:) 4. 生成器(generator) 4.1. 生成器简介 首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代…

    Linux干货 2015-03-11
  • python函数与作用域

    ##函数– 函数— 数学定义:y=f(x),y是x的函数,x是自变量— python函数:由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元;完成一定的功能 – 函数的作用— 结构化编程对代码的最基本的封装,一般按照功能组织一段代码— 封装的目的是为了复用,减少冗余代…

    2017-10-17