1.文本与字节 2.新的I/O系统 3.print()和exec()函数
4.使用迭代器和视图 

一、疑惑
    今天在看《Python
Cookbook》第四章Python技巧的4.7小节时,发现一段初看起来让人疑惑的代码。该小节的任务是将一个包含列表(行)的列表,转换成一个新的列表。新的列表包含了同样的行,但是其中一些列被删除或者重新排序了。让人疑惑的代码如下:

python中,模块是用来查找匹配的文件的
    在查找的条件中,需要用到Unix shell中的匹配规则:

       *    :   匹配所所有
       ?    :   匹配一个字符
       *.*  :   匹配如:[hello.txt,cat.xls,xxx234s.doc]
       ?.*  :   匹配如:[1.txt,h.py]
       ?.gif:   匹配如:[x.gif,2.gif]
    可以参考:
    如果没有匹配的,glob.glob(path)将返回一个空的list:[]

5.整数与整数除法 6.比较 7.迭代器和生成器 8.文件名、参数与环境变量
9.库的重新组织 10.绝对导入

 listOfRows = [[1,2,3,4], [5,6,7,8], [9,10,11,12 listOfRows[:] = [[row[0], row[3], row[2]]  row  listOfRows]

以下是我的demo

2.新的I/O系统 3.print()和exec()函数
4.使用迭代器和视图 5.整数与整数除法 6.比较 7.迭代器和生成器
8.文件名、参数与环境变量…

竹风不禁疑惑了,这第二行的代码为啥会用 这种写法?直接写成
>>> test_li = [,,,,,] >>> test_li[1:4] [,
, >>> id(test_li)
139718916544776 >>> test_li[1:4] = [1,2] >>>
test_li [, 1, 2, , >>> id(test_li) 139718916544776 >>>

配合注释来看的话,对切片赋值貌似是在原对象上进行修改。而且值得注意的是,切片赋值还支持元素个数不相等的操作,比如实验中用替换了。

图片 1

发表评论

电子邮件地址不会被公开。 必填项已用*标注