本文主要是介绍[学习python3.8][猎奇向]有趣问题集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
〇、语法问题
一、print()
二、enumerate()
三、列表list
四、
〇、语法问题
1.代码的转行
在语句较长需要中途换行时,使用转义符" \ "
if n and n%2 and n%3 and n%5 and n%7 and n%11 and n\%13 and n%17 and n%19:#非零整数n没有小于20的质因子cnt+=1print(n)
在字符串内部也适用
print('abcdef\ghi')
#[out] abcdefghi
相比之下
print("""abcdefghi""")
#[out] abcdef\nghi
2.一行中的多个语句用" ; "隔开
3.三种import语句
import math (as m)
#引入math模块
#使用时需要加math.或m.的前缀
#不会与已声明的函数/变量/类的名称重合from math import sqrt
#只引入单个函数/变量/类
#使用时不需要前缀
#可能占用已有名称from math import *
#引入math模块的所有内容
#使用时不需要前缀
#很有可能占用已有名称
一、print()
函数原型
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
1.输出的重定向:file参数
import sys
print("Fatal Error.",file=sys.stderr)
#[out] Fatal Error.f=open("myin.in",'a')
print("Fatal Error.",file=f)
f.close()
2.分隔符和结尾:sep和end参数
for i in [1,2,3,4,5]:print(i,end='')
#[out] 12345
二、enumerate()
1.返回值的类型
lis=[9,8,7]
for i in enumerate(lis):print(i,i[1])
print('')
for i,j in enumerate(lis):print(i,j,"%d"%j)
输出:
(0, 9) 9
(1, 8) 8
(2, 7) 70 9 9
1 8 8
2 7 7
三、列表
1.解析式
lis=[9,8,7]
a=[x+y for x in lis for y in lis if x!=y]
#a=[17,16,17,15,16,15]
2.反向遍历容器
lis=[1,2,3,4,5,6,7]
lis[6:0:-1]
#[7,6,5,4,3,2], 不到lis[0]
lis[6:-1:-1]
#[]
lis[-1:-len(lis):-1]
#[7,6,5,4,3,2], 不到lis[0]
lis[::-1]
#[7,6,5,4,3,2,1], 这个好
与之稍有不同的是
list(range(10,0,-1))
#[10,9,8,7,6,5,4,3,2,1]
list(range(10,-1,-1))
#[10,9,8,7,6,5,4,3,2,1,0]
3.元素的删除
lis=[1,2,3,4,5,5,6,7]
del(lis[3])
#lis=[1,2,3,5,5,6,7]
lis.remove(5)
#lis=[1,2,3,5,6,7]
lis.remove(0)
#报错
lis.pop()
#lis=[1,2,3,5,6]
4.元素的增加
lis=[1,2,3,4,5,6,7]
lis.insert(0,-1)
#lis=[-1,1,2,3,4,5,6,7]
lis.append(0)
#lis=[-1,1,2,3,4,5,6,7,0]
5.元素的查找
lis=['1','2','3','4','5']
'1' in lis
#return True
lis.count('1')
#return 1
lis.index('2')
#return 1
6.元素的计算
lis.sum()#累加求和
lis.min()#求最大值
lis.max()#求最小值
...
7.遍历函数map()
第一个参数是函数对象, 接着是若干个长度相同的容器名
la=[1,1,1,1,1]
lb=[1,2,3,4,5]
lc=[1,3,5,7,9]
f=lambda a,b,c: a+b*c
ld=map(f,la,lb,lc)
#ld=[2,7,16,29,46]
这篇关于[学习python3.8][猎奇向]有趣问题集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!