1.列表
除了正序以外,也可以反序,倒数第一个 反着取序号是 -1。以此类推,-3 这个索引就是倒着数第三个。
列表切片操作:
files = ["f1.txt", "f2.txt", "f3.txt", "f4.txt", "f5.txt"]
print("files[:3] ", files[:3])
print("files[2:4] ", files[2:4])
运算结果:
files[:3] ['f1.txt', 'f2.txt', 'f3.txt']
files[2:4] ['f3.txt', 'f4.txt']
切片操作遵守前取后不取的原则, 比如[:3] 取0,1,2 [2:6] 取2,3,4,5
列表的循环操作:
files = ["f1.txt", "f2.txt", "f3.txt", "f4.txt", "f5.txt"]
for f in files:
if f == "f3.txt":
print("I got f3.txt")
直接将 files
放入循环里。这样我们就不需要再去索引一遍 files
而是直接将 files
里面的值在 for
的时候就一一拿出来了。
2.字典
字典可以修改,通过 key 我们就能将对应的 value 进行修改。 注意,在字典中的元素不像列表,字典元素是没有顺序的。
字典的循环操作:
files = {"ID": 111, "passport": "my passport", "books": [1,2,3]}
for key in files.keys():
print("key:", key)
for value in files.values():
print("value:", value)
for key, value in files.items():
print("key:", key, ", value:", value)
运算结果:
key: ID
key: passport
key: books
value: 111
value: my passport
value: [1, 2, 3]
key: ID , value: 111
key: passport , value: my passport
key: books , value: [1, 2, 3]
字典也能和 for
进行简化的应用,我们只需要调用 dict.items()
, dict.keys()
, dict.values()
分别取字典的某些部分就能简化 for
循环了。
3.元组
基本上用元组的地方都能用列表代替。但是元组有它一个唯一的独特性,就是它里面的东西不可变。如果我们不希望它的值被改变的时候,比如有些常数,或固定值, 我们就希望它不能改变。
4.set
set 里面只会存在非重复的元素,不管你往里面加了多少相同元素,这些相同元素都会坍缩成一个。 这种特性,我们就可以运用它来做交集并集等操作。注意,在集合中的元素,其实是没有顺序的。
my_files = set(["file1", "file2", "file3"])
print(my_files)
my_files.add("file3")
print(my_files)
运行结果:
{'file1', 'file3', 'file2'}
{'file1', 'file3', 'file2'}
可见往set集合里面加入一个重复的元素,set集合也不会改变。