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

相关推荐

  • 树 概念


    二叉树

    2018-04-16
  • enumerate用法和转置矩阵求解、效率测试

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

    2018-04-08
  • python中list,tuple和字符串的处理方法和函数比较

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

    2017-09-24
  • Python内置数据结构-list、tuple、string

    Python内置数据结构 分类 数值型 int、float、complex、bool 序列对象 字符串 str 列表 list 元组 tuple 键值对 集 set 字典 dict 数值型 数值型 int、float、complex、bool都是类(class),1、5.0、1+2j都是对象即实例 int:在python3版本中表示长整型,没有大小限制,受限…

    2017-09-23
  • Python函数式编程指南(三):迭代器

    这一篇我们将讨论迭代器。迭代器并不是函数式编程特有的东西,但它仍然是函数式编程的一个重要的组成部分,或者说是一个重要的工具。 转载请注明原作者和原文地址:) 3. 迭代器 3.1. 迭代器(Iterator)概述 迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。 迭代器不能回退,只能往前进行迭代。这并…

    Linux干货 2015-03-11
  • Python函数式编程指南:目录和参考

    目录: 概述 这一篇简要地描述了函数式编程和一些相关的概念。 函数 这一篇展示了关于函数可能不常用到的部分特征并尝试引导诸位使用函数式的思维解决问题,并介绍了诸多有用的内建函数。 迭代器 这一篇介绍了迭代器以及Python对迭代器的语法级的支持,还包括了内置模块itertools的介绍。 生成器 这一篇介绍了自定义的迭代器——生成器,并展示了生成器的用途和使…

    Linux干货 2015-03-11