python for循环

python 全栈开发,Day4(列表切片,增删改查,常用操作方法,元组,range,join)

流过昼夜 提交于 2020-03-08 17:23:43
一、列表 列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}] 列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据。列表是有序的,有索引值,可切片,方便取值。 索引,切片,步长 li = ['xiao',123,True,(1,2,3,'wusir'),[1,2,3,'小明',],{'name':'xiao'}] print(li[0]) print(li[2]) print(li[1:4]) print(li[:5:2]) #倒着取,后2个 print(li[-1:-3:-1]) 执行输出: xiao True [123, True, (1, 2, 3, 'wusir')] ['xiao', True, [1, 2, 3, '小明']] [{'name': 'xiao'}, [1, 2, 3, '小明']] 下面介绍列表的增、删、改、查 增 append() 追加,在最后一个位置添加元素 li = [1,'a','b',2,3,'a','laonaihai'] li.append('xiao') print(li) 执行输出: [1, 'a', 'b', 2, 3,

简单的Python小游戏

北战南征 提交于 2020-03-08 17:09:59
1. 猜单词游戏 游戏介绍: 猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜测。此游戏采用控制字符界面,游戏中,可使用序列中的元组存储所有待猜测的单词。因为猜单词游戏需要随机产生某个待猜测单词以及随机数字,所以引入random模块随机数函数。其中,random.choice()可以从序列中随机选取元素。 运行代码 # Word Jumble 猜单词游戏 import random # 创建单词序列 WORDS = ('python','easy','difficult','answer','continue','jumble','phone','desktop', 'position','game','quick','find','apple','banana','orange','stream') print( """ 欢迎参加猜单词游戏 把字母组合成一个正确的单词, """ ) iscontinue="y" while iscontinue == "y" or iscontinue == "Y": # 从序列中随机挑选出一个单词 word = random.choice(WORDS) # 一个用于判断玩家是否参对的变量 correct = word # 创建乱序后的单词 jumble = "" while word: # Word不是空串时循环 #

python的列表数据类型及常用操作

有些话、适合烂在心里 提交于 2020-03-08 09:25:36
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 列表可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。 如下所示: list1 = ['physics', 'H2O', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"] 列表的切片操作 : l[0:2] 取列表的第一到第二个元素 l[2:5] 取列表的第三到第四个元素 l[::2] 间隔取列表元素1、3、5....l[:7:2] 取第一到第六个元素后再间隔的取取出的元素 列表的常用操作如下所示 : li=['day', 'eric', 'rain'] 计算列表长度并输出 print(len(li)) 3 查找元素“eric”对应索引 print(li.index("eric"))1 列表中追加元素“seven” li.append("seven") 在列表的第1个位置插入元素“Tony” li.insert(0, "tony") 修改列表第2个位置的元素为

python学习笔记(进阶)

青春壹個敷衍的年華 提交于 2020-03-08 06:03:32
阅读目录 一、 *args与**kwargs的用法 二、使⽤ *args 和 **kwargs 来调⽤函数 三、⽣成器(Generators) 四、Map,Filter 和 Reduce 五、set(集合)数据结构 一、 *args与**kwargs的用法 args 和 **kwargs 主要⽤于函数定义。 你可以将不定数量的参数传递给⼀个函数。 这⾥的不定的意思是:预先并不知道, 函数使⽤者会传递多少个参数给你, 所以在这个场景下使⽤这两个关键字。 *args 是⽤来发送⼀个⾮键值对的可变数量的参数列表给⼀个函数. def test_var_args ( f_arg , * argv ) : print ( "First normal arg:" , f_arg ) for arg in argv : print ( "another arg through *argv:" , arg ) test_var_args ( 'yasoob' , 'python' , 'eggs' , 'test' ) 运行结果: ** kwargs 允许你将不定长度的键值对, 作为参数传递给⼀个函数。 如果你想要在⼀个函 数⾥处理带名字的参数, 你应该使⽤**kwargs。 def greet_me ( ** kwargs ) : for key , value in kwargs . items

用python代码编写的猜年龄小游戏

此生再无相见时 提交于 2020-03-07 17:46:13
0. 奖励物品存放在文件price.txt 1. 给定年龄(随机18-60),用户可以猜三次年龄 2. 年龄猜对,让用户选择两次奖励 3. 用户选择两次奖励后可以退出 import random age = random.randint(18, 60) # 随机一个数字,18-60岁 print(age) count = 0 # 计数 f = open('price.txt', 'r', encoding='utf8') # price.txt右下角为什么编码,则encoding为什么编码 price_dict = f.read() price_dict = eval(price_dict) # type:dict # 获取奖品字典 f.close() price_self = dict() while count < 3: count += 1 inp_age = input('请输入你想要猜的年龄:') # 判断是否为纯数字 if not inp_age.isdigit(): print('搞事就骂你傻逼') continue inp_age = int(inp_age) # 筛选年龄范围 if inp_age > 60 or inp_age < 18: print('好好题目,18-60岁,非诚勿扰') continue # 核心逻辑 if age == inp_age:

Python学习【字典】

懵懂的女人 提交于 2020-03-07 14:25:53
Python3 字典 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 键必须是唯一的,但值则不必。 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 格式: { key:value for variable in iterable [ if expression ] } 执行步骤: 1、for 循环:遍历可迭代对象,将其值赋给变量。 2、if 语句:筛选满足 if 条件的结果。 3、存储结构:以键值对的方式存储在字典中。 修改字典 向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例: a = { '' : '' , '' : '' : '' } a [ ' ' ] = # 更新 Age a [ 'School' ] = "" # 添加信息 print ( "a['']: " , a [ '' ] ) print ( "a['']: " , a [ '' ] ) 删除字典元素 能删单一的元素也能清空字典,清空只需一项操作。 显示删除一个字典用del命令 a = { '' : '' , '' : '' : '' } del a [ ' ' ] # 删除键 ' ' a . clear ( ) # 清空字典 a dict # 删除字典 print ( "a['']: " , a [

python实用技巧总结(一)

ε祈祈猫儿з 提交于 2020-03-07 09:24:44
一、在列表,字典,集合中根据条件筛选数据   过滤负数(例)     filter函数       列表List(filter(lambda x:x>=0,data))       字典dict(filter(lambda item:item[1]>=0,data.items()))       集合set(filter(lambda x:x>=0,data))     生成式(推荐)       列表[x for x in data if x>=0]       字典{k:v for k,v in data.items if v>=0}       集合{x for x in data if x>=0} 二、为元组中每个元素(索引)命名,提高元素可读性   方法一:使用枚举类型代替索引     >>> from enum import IntEnum     >>> class StudentEnum(IntEnum):     NAME=0     AGE=1     SEX=2     EMAIL=3   方法二:为元组中的索引定义常量     NAME=0     AGE=1     SEX=2     EMAIL=3   方法三:collections.namedtuple(推荐)     >>> from collections import namedtuple   

Python学习笔记020

被刻印的时光 ゝ 提交于 2020-03-07 08:38:59
三层循环 # __author:XY# date: 2020/3/7abcd = { 'A': { 'AA': { 'AAA': { 'AAAA': {}, 'AAAB': {}, 'AAAC': {}, 'AAAD': {} }, 'AAB': { 'AABA': {}, 'AABB': {}, 'AABC': {}, 'AABD': {} }, 'AAC': { 'AACA': {}, 'AACB': {}, 'AACC': {}, 'AACD': {} }, 'AAD': { 'AADA': {}, 'AADB': {}, 'AADC': {}, 'AADD': {} } }, 'AB': { 'ABA': { 'ABAA': {}, 'ABAB': {}, 'ABAC': {}, 'ABAD': {} }, 'ABB': { 'ABBA': {}, 'ABBB': {}, 'ABBC': {}, 'ABBD': {} }, 'ABC': { 'ABCA': {}, 'ABCB': {}, 'ABCC': {}, 'ABCD': {} }, 'ABD': { 'ABDA': {}, 'ABDB': {}, 'ABDC': {}, 'ABDD': {} } }, 'AC': { 'ACA': { 'ACAA': {}, 'ACAB': {}, 'ACAC': {}, 'ACAD

python之线程池

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-07 07:48:05
#!/user/bin/evn python # -*- coding:utf-8 -*- import threading import queue,time ''' 线程池的思路: 将任务依次放在队列里面 然后从队列取出任务交给线程执行 ''' stopEvent=object()#任务完了的标志---下面我们将任务包封装到元组中 class ThreadPool(object): def __init__(self,max_num): #创建队列 self.q=queue.Queue() #创建线程最大的数量(线程池的最大容量) self.max_num=max_num #空闲线程列表(数量) self.free_list=[] #真实创建的线程列表(数量) self.gemerate_list=[] #中断任务标志 self.terminal=False self.num=0 def run(self,func,args,callback=None): #func:任务函数 #args:任务函数的参数 #callback:线程执行成功或者失败后执行的回调函数 task=(func,args,callback)#将任务封装到元组中 ==任务包 #将任务包放到队列中 self.q.put(task) #创建线程 if len(self.free_list)==0 and len

python中list列表的高级函数

放肆的年华 提交于 2020-03-06 11:38:21
  在Python所有的数据结构中,list具有重要地位,并且非常的方便,这篇文章主要是讲解list列表的高级应用。   此文章为python英文文档的翻译版本,你也可以查看英文版:https://docs.python.org/2/tutorial/datastructures.html   use a list as a stack: #像栈一样使用列表   stack = [3, 4, 5]   stack.append(6)   stack.append(7)   stack   [3, 4, 5, 6, 7]   stack.pop() #删除最后一个对象   7   stack   [3, 4, 5, 6]   stack.pop()   6   stack.pop()   5   stack   [3, 4]   use a list as a queue: #像队列一样使用列表   > from collections import deque #这里需要使用模块deque   > queue = deque(["Eric", "John", "Michael"])   > queue.append("Terry") # Terry arrives   > queue.append("Graham") # Graham arrives   > queue