[学习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+=1
	print(n)

在字符串内部也适用

print('abcdef\
   ghi')
#[out] abcdefghi

相比之下

print("""abcdef
   ghi""")
#[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) 7

0 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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值