python3编程 入门到实践,python3编程例子

  python3编程 入门到实践,python3编程例子

  01-字典列表集合中筛选

  # 如何在列表字典集合中根据条件帅选数据

  从随机导入产生均匀分布的随机整数矩阵

  # 第一种

  # data=[-1,2,3,-4,5]

  # res=[]

  #对于数据中的x:

  #如果x 0:

  #资源追加(十)

  #打印(分辨率)

  # a=randint(-10,10)

  #打印(一份)

  b=[randint(-10,10) for _ in range(10)]

  #打印(二)

  # 第二种

  # 列表解析

  B2=[如果x=0,则x为b中的x]

  #打印(b2)

  # 第三种过滤器函数

  # 返回一个生成器对象然后可以取出元素

  b3=滤波器(x:x=0,b)

  #打印(下一步(b3))

  #打印(列表(b3))

  # 第四种字典

  d={student%d % i : randint(50,100) for i in range(1,21) }

  #打印(四)

  # 获取分数高于90的学生

  d1={k:v for k,v in d.items() if v=90}

  #打印(d1)

  g=filter(lambda item:item[1],d.items())

  #打印(列表(g))

  g=filter(lambda item:item[1],d.items())

  #打印(字典(g))

  # 第五种集合

  s={randint(0,20) for _ in range(20)}

  印刷品

  s1={x for x in s if x %3==0}

  打印(s1)视图代码

  02-枚举

  # 举例

  从枚举导入枚举,唯一

  # @唯一

  #类别颜色(枚举):

  #红色=1

  # red_alias=2

  #

  #打印(彩色[红色])

  # print(Color.red.name)

  # print(Color.red.value)

  类别颜色(枚举):

  红色=1

  橙色=2

  黄色=3

  绿色=4

  蓝色=5

  靛蓝=6

  紫色=7

  red_alias=1

  对于彩色中的彩色:

  打印(彩色)

  以颜色换颜色。__成员_ _。项目():

  打印(彩色)

  打印(彩色[红色])

  打印(颜色[红色]。姓名)

  打印(颜色[红色]。值)

  为我换颜色:

  打印(即姓名,-,即值)视图代码

  03-具名元组

  04-根据字典值的大小对字典中的项排序

  #将字典中的各项转换为元组使用内置函数分类的排序

  #包含元组的列表是可以排序的(元组是可以比较大小的)

  # print((3,2) (1,4))

  依次从前到后比较

  返回真实的

  从随机导入产生均匀分布的随机整数矩阵

  #第一种方法

  d={k:randint(60,100) for k in abcdefg}

  #打印(四)

  l=[(v,k) for k,v in d.items()]

  #打印(左)

  l=排序(l,反向=真)

  #打印(左)

  真实的

  {a: 87, b: 89, c: 86, d: 60, e: 99, f: 77, g: 87}

  [(87, a )、(89, b )、(86, c )、(60, d )、(99, e )、(77, f )、(87, g)]

  [(99, e )、( 89, b )、( 87, g )、( 87, a )、( 86, c )、( 77, f )、( 60, d)]

  #第二种

  d={k:randint(60,100) for k in abcdefg}

  #打印(四)

  l=list(zip(d.values()、d.keys()))

  #打印(左)

  l=排序(l,反向=真)

  #打印(左)

  真实的

  {a: 72, b: 92, c: 85, d: 65, e: 75, f: 69, g: 62}

  [(72, a )、(92, b )、(85, c )、(65, d )、(75, e )、(69, f )、(62, g)]

  [(92, b )、(85, c )、(75, e )、(72, a )、(69, f )、(65, d )、(62, g)]

  #第三种

  d={k:randint(60,100) for k in abcdefg}

  打印(d.items())

  l=已排序(d.items(),key=lambda item:item[1],reverse=True)

  打印(左)

  p=list(enumerate(l,1))

  打印(p)

  t={}

  对于我,p中的(k,v):

  印刷(I,k,v)

  t[k]=(i,v)

  印刷(吨)

  真实的

  dict_items([(a ,96),( b ,85),( c ,85),( d ,71),( e ,87),( f ,98),( g ,82)])

  [(f ,98)、( a ,96)、( e ,87)、( b ,85)、( c ,85)、( g ,82)、( d ,71)]

  [(1,( d ,95)),(2,( a ,93)),(3,( f ,93)),(4,( c ,91)),(5,( b ,67)),(6,( e ,67)),(7,( g ,62))]

  1 d 100

  2 c 94

  3 a 88

  4 b 80

  5 g 73

  6 f 70

  第七季第68集

  {a: (1,98), g: (2,90), f: (3,84), e: (4,80), d: (5,66), c: (6,65), b: (7,60)}

  查看代码

  05如何统计序列中元素的频度

  从随机导入产生均匀分布的随机整数矩阵

  #随机生成一个列表有重复的数字

  data=[randint(0,20) for _ in range(30)]

  打印(数据)

  #[16, 3, 6, 0, 4, 20, 1, 0, 13, 16, 13, 6, 14, 13, 16, 4, 14, 9, 12, 5, 4, 6, 1, 7, 18, 5, 6, 15, 14, 5]

  #列表每个元素作为键,值默认为0(出现个数)

  d=dict.fromkeys(data,0)

  打印(四)

  #{16: 0, 3: 0, 6: 0, 0: 0, 4: 0, 20: 0, 1: 0, 13: 0, 14: 0, 9: 0, 12: 0, 5: 0, 7: 0, 18: 0, 15: 0}

  #迭代列表遇到某个数值就一统计数字出现个数

  对于数据中的x:

  d[x]=1

  打印(四)

  #{16: 3, 3: 1, 6: 4, 0: 2, 4: 3, 20: 1, 1: 2, 13: 3, 14: 3, 9: 1, 12: 1, 5: 3, 7: 1, 18: 1, 15: 1}

  p=已排序([(v,k) for k,v in d.items()],reverse=True)

  打印(p)

  #[(5, 19), (2, 17), (2, 16), (2, 12), (2, 8), (2, 6), (2, 4), (2, 3), (2, 1), (2, 0), (1, 20), (1, 15), (1, 14), (1, 10), (1, 9), (1, 7), (1, 2)]

  05.1集合统计频率

  从随机导入产生均匀分布的随机整数矩阵

  从集合导入计数器

  #随机生成一个列表有重复的数字

  data=[randint(0,20) for _ in range(30)]

  #打印(数据)

  p=计数器(数据)

  l=p.most_common(3)

  打印(p)

  打印(左)

  计数器({4: 4,11: 3,6: 3,7: 3,3: 2,17: 2,9: 2,20: 2,0: 2,10: 1,16: 1,2: 1,13: 1,15: 1,12: 1,18: 1})

  [(4, 4), (11, 3), (6, 3)]

  6,如何快速找到多个字典中的公共键键

  第一种:

  从随机导入随机样本

  #打印(示例( abcdefgh ,3))

  #[g , e , b]随机

  d1={k:randint(1,4) for k in sample(abcdefgh ,randint(3,6)) }

  #打印(d1)

  #随机返回3-6名球员和进球数

  #{d: 2, f: 1, e: 1, g: 3, c: 3, b: 2}

  d2={k:randint(1,4) for k in sample(abcdefgh ,randint(3,6)) }

  d3={k:randint(1,4) for k in sample(abcdefgh ,randint(3,6)) }

  D1=[D1,d2,d3]

  #3轮都有进球的球员

  print([k for k in dl[0]if all(map(lambda d:k in d,dl[1:])))

  #解释

  #map(lambda d:k in d,dl[1:])和服务器端编程语言(专业超文本预处理器的缩写)的数组_映射一样的作用

  #判断k是否在d2、d3中全部()表示全在第二种方法:

  从随机导入随机样本

  从函数工具导入减少

  #打印(示例( abcdefgh ,3))

  #[g , e , b]随机

  d1={k:randint(1,4) for k in sample(abcdefgh ,randint(3,6)) }

  #打印(d1)

  #随机返回3-6名球员和进球数

  #{d: 2, f: 1, e: 1, g: 3, c: 3, b: 2}

  d2={k:randint(1,4) for k in sample(abcdefgh ,randint(3,6)) }

  d3={k:randint(1,4) for k in sample(abcdefgh ,randint(3,6)) }

  D1=[D1,d2,d3]

  #3轮都有进球的球员

  print(d1.keys())

  打印(字典键(d1))

  d=映射(字典键,dl)

  dd=reduce(lambda a,b:a b,map(dict.keys,dl))

  打印(dd)

  dict_keys([f , b , a , c , e , d])

  dict_keys([f , b , a , c , e , d])

  {f , d , a , b}

  7,如何让字典保持有序

  从集合导入订单直接

  从随机导入洗牌

  从循环器导入帧内片

  od=OrderedDict()

  od[c]=1

  od[b]=2

  od[a]=3

  print(od.keys())

  玩家=列表( abcdefgh )

  洗牌(玩家)

  打印(播放器)

  od=OrderedDict()

  对于我,p在列举(玩家,1):

  od[p]=i

  印刷(外径)

  def queryByOrder(d,a,b=None):

  a -=1

  如果b是无:

  b=a 1

  返回列表(islice(od,a,b))

  print(queryByOrder(od,2,4))

  odict_keys([c , b , a])

  [c , d , a , e , b , g , f , h]

  OrderedDict([(c ,1),( d ,2),( a ,3),( e ,4),( b ,5),( g ,6),( f ,7),( h ,8)])

  [d , a , e]

  8,如何实现用户历史记录功能

  从随机导入产生均匀分布的随机整数矩阵

  def guess(n,k):

  如果n==k:

  打印(猜对了,这个数字是% d . % k)

  返回真实的

  如果n k:

  打印(猜大了,比%d小.% k)

  elif n k:

  打印(猜小了,比%d大.% k)

  返回错误的

  def main():

  n=randint(1,100)

  i=1

  虽然正确:

  line=input([%d]请输入一个数字: % i)

  if line.isdigit():

  k=int(行)

  i=1

  if guess(n,k):

  破裂

  elif line==quit :

  破裂

  if __name__==__main__ :

  主()

  [1] 请输入一个数字:24

  猜小了,比24大。

  [2] 请输入一个数字:56

  猜小了,比56大。

  [3] 请输入一个数字:4

  猜小了,比四大。

  [4] 请输入一个数字:

  从集合导入队列

  q=deque([],5)

  问。追加(1)

  q.append(2)

  q.append(3)

  q.append(4)

  问。追加(5)

  打印(问)

  问。追加(6)

  打印(问)

  德克([1,2,3,4,5],maxlen=5)

  德克([2,3,4,5,6],maxlen=5)

  一来自随机导入产生均匀分布的随机整数矩阵

  2从集合导入队列

  3 def guess(n,k):

  四如果n==k:

  5打印(猜对了,这个数字是% d . % k)

  6返回真实的

  七如果n k:

  8打印(猜大了,比%d小.% k)

  9 elif n k:

  10打印(猜小了,比%d大.% k)

  11

  12返回错误的

  13

  14 def main():

  15 n=randint(1,100)

  16 i=1

  17 hq=deque([],5)

  18虽然真实:

  19行=输入([%d]请输入一个数字: % i)

  20 if line.isdigit():

  21 k=int(line)

  22总部追加(k)

  23 i=1

  24 if guess(n,k):

  25休息

  26 elif line==quit :

  27分钟

  28 elif line==h?:

  29打印(列表(总部))

  30

  31 if __name__==__main__ :

  32主()改良版增加双端队列

  泡菜模块:

  从集合导入队列

  进口泡菜

  q=deque([],5)

  问。追加(1)

  q.append(2)

  q.append(3)

  q.append(4)

  问。追加(5)

  打印(问)

  问。追加(6)

  打印(问)

  # pickle.dump(q,open(save.pkl , wb ))

  b=pickle.load(open(save.pkl , rb ))

  打印(二)

  德克([1,2,3,4,5],maxlen=5)

  德克([2,3,4,5,6],maxlen=5)

  德克([2,3,4,5,6],maxlen=5)泡菜

  泡菜保存文件格式

  收藏

  双端队列

  K \u qRq(KKKKKe .

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: