
Py3 基本知识补充
发布日期:2021-05-07 23:18:46
浏览次数:22
分类:精选文章
本文共 2305 字,大约阅读时间需要 7 分钟。
Powered by:AB_IN 局外人
列表
-
返回 0 − 9 0 - 9 0−9的偶数
两种方式都可以。
result = [num for num in range(0, 10) if num % 2 == 0]
result=list(filter(lambda x: x%2==0,range(0,10)))
但要注意,不能这么写:
result = [num%2==0 for num in range(0, 10)]
这样会返回
[True, False, True, False, True, False, True, False, True, False]
因为 r e s u l t result result里的元素为 n u m num num, n u m % 2 = = 0 num\%2==0 num%2==0使之变成布尔值。
-
e x t e n d extend extend
向列表末添加列表中的所有元素,如:lst.extend([1,2,3])
-
i n s e r t ( i d , n u m ) insert(id,num) insert(id,num)
在下标为 i d id id的前面加上 n u m num numlst=[1,2,4,5,6]lst.insert(2,3)print(lst)#[1, 2, 3, 4, 5, 6]
-
二维列表
matrix = [[0 for i in range(3)] for i in range(3)]
-
深 c o p y copy copy
import copya=[[1,2,3,4,5],[2,3,4,5,6]]b=copy.deepcopy(a)print(b)#[[1, 2, 3, 4, 5], [2, 3, 4, 5, 6]]
字典
在之前字典有说过一些,这里再补充一些。
-
直接添加新的键值
d[a]=b
如果像下面这么写,而且键是新的键的话,会报错
d[a]+=1
-
d . k e y s ( ) d.keys() d.keys()
返回一个迭代器。 例如:for i in d.keys(): print(i," ".join(sorted(d[i])))
这里 i i i为每一个键值。
文件
-
开关文件
f = open('./test.txt','r') #打开文件,常用的参数:#r:只读 #w:写入,如果文件存在会清空,如果文件不存在会创建#a:追加,如果文件存在会在末尾追加,如果文件不存在会创建f.close()
也可以用 w i t h with with,就不用关闭了。
with open('./test.txt','r') as f: print(f.read())
那如果文件名是输入进来的
filename=input()with open(filename,'r') as f:
-
读取文件
for lines in f.readlines(): s=lines.strip()#例如f.read() #参数是读取的数据数目,默认是所有内容f.readline() #读取一行f.readlines() #读取所有行
-
写入文件
list1=["lsy","shi sha bi"]with open('./test.txt','w') as f: f.writelines([line+'\n' for line in list1])'''lsyshi sha bi'''
f’ ’ 和 strip()
-
格式化字符串,例如
print(f'{s} is translated into {d[s]}.')
如果 ′ ′ ' \ ' ′ ′里有 ′ ' ′,则需要转义,比如:
print(f'\'{s}\' is translated into \'{d[s]}\'.')
明显不美观,所以可以用 " " " \ " " "
print(f"'{s}' is translated into '{d[s]}'.")
-
s t r i p ( ) strip() strip()
可以去除字符串初始和结尾的 换行,tab,空格。
递归
个人感觉,递归最重要的就是找终止条件,就是看你想让这个程序什么时候往回返
例如,求数字各位数之和
def get_sum_digits(s): if s < 10: return s else: return s % 10 + get_sum_digits(s // 10)
这就是让它递归到最底层再往上返。
if s < 10: return s
返回时,还有附加操作 s % 10
。
return s % 10 + get_sum_digits(s // 10)
例如,看列表里有没有偶数
def no_evens(numbers): try: if numbers[0] % 2 == 0: return False else: return no_evens(numbers[1:]) except: return True
这种就是没有附件操作的返回,直直的返回。递归时遇到偶数就返回 F a l s e False False,然后直直的返回 F a l s e False False
return no_evens(numbers[1:])
完结。
发表评论
最新留言
很好
[***.229.124.182]2025年03月21日 02时48分50秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
2021-05-08
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
2021-05-08
C语言的数值溢出问题(上)
2021-05-08
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
2021-05-08
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
2021-05-08
android:使用audiotrack 类播放wav文件
2021-05-08
聊聊我的五一小假期
2021-05-08
数据库三个级别封锁协议
2021-05-08
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
2021-05-08
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
2021-05-08
SLAM学习笔记-求解视觉SLAM问题
2021-05-08
程序员应该知道的97件事
2021-05-08
create-react-app路由的实现原理
2021-05-08
openstack安装(九)网络服务的安装--控制节点
2021-05-08
shell编程(六)语言编码规范之(变量)
2021-05-08
vimscript学习笔记(二)预备知识
2021-05-08
Android数据库
2021-05-08
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
2021-05-08
STM8 GPIO模式
2021-05-08