列表和字符串的区别:
列表可以包含任意类型的值,而字符串是字符序列。
列表是可变的,可以把列中的元素替换成另一个;字符串是不可变的,即不能修改序列中的字符。
1)方括号表示我们正在创建列表。元素是按给出的顺序存储的。
values = [32, 54, 67.9, 29, 35]
2)用 list(values) 可以得到一个列表副本。
print(values[1]) // 54
1)方法一
for i in range(len(values)):
print(i, values[i])
2)方法二
for item in values:
print(item)
变量存储的是列表的引用(列表在内存中的地址)。所以当把一个列表变量赋值给另一个变量时,两个变量就引用同一个列表,第二个变量是第一个变量的别名。
1)查找元素
判断一个元素是否在列表中可以用 in 操作符。
index(x[, start[, end]])
返回列表中第一个值为 x 的元素的从零开始的索引。如果没有这样的元素将会抛出 ValueError 异常。可选参数 start 和 end 是切片符号,用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的,而不是 start 参数。
2)增加元素
append(x)
在列表的末尾添加一个元素。相当于 a[len(a):] = [x] 。
insert(i, x)
在给定的位置插入一个元素。第一个参数是要插入的元素的索引,所以 a.insert(0, x) 插入列表头部, a.insert(len(a), x) 等同于 a.append(x) 。
3)删除元素
pop([i])
删除列表中给定位置的元素并返回它。如果没有给定位置,删除并返回列表的最后一个元素。
remove(x)
移除列表中第一个值为 x 的元素。如果没有这样的元素,则抛出 ValueError 异常。
clear()
删除列表中所有的元素。相当于 del a[:] 。
4)求和,最值,排序
sum(list)
对列表中的元素进行求和
max(list)、min(list)
对列表中的元素进行求最大、最小值
sort(key=None, reverse=False)
对列表中的元素进行排序
5)两个列表之间的操作
+连接
用 + 运算符实现列表的连接
*重复
用 * 运算符实现列表的重复、
==相等性检测
用 == 运算符比较两个列表顺序和元素是否完全一样。
集合是包含一组唯一值的容器。
集合和列表的区别:
集合中的元素不以任何特定的顺序存储,不能通过位置进行访问。
1)在大括号中指定元素 // 不能用空的{}创建一个空集合
cast = {1, 4, 5, 6}
2)用 set 函数把任何序列转化成集合 // 可以用set()创建一个空集合
name = ['aa', 'bb', 'cc']
cast = set(names)
集合是无序的,不能像列表一样用位置来访问集合中的元素。可以用 in 操作符判断一个元素是否在一个集合中。
for item in cast:
print(item)
1)查找元素
可以用 in 操作符判断一个元素是否在一个集合中
2)增加元素
add(elem)
将元素 elem 添加到集合中。
3)删除元素
pop()
从集合中移除并返回任意一个元素。 如果集合为空则会引发 KeyError
remove(elem)
从集合中移除元素 elem。 如果 elem 不存在于集合中则会引发 KeyError。
clear()
从集合中移除所有元素。
discard(elem)
如果元素 elem 存在于集合中则将其移除。
4)两个集合之间的操作
==相等性检测
用 == 运算符比较两个集合元素是否完全一样。
issubset()
判断一个集合是否是另一个集合的子集。
union()
创建两个集合的并集
intersection()
创建两个集合的交集
difference()
创建两个集合的差集
5)其他方法
len(s)
返回集合 s 中的元素数量(即 s 的基数)。
字典是在键和值之间保持关联的容器。字典中每个键有个关联的值,键是唯一的,但是值可能被关联到多个键上
cantacts = {'fri': 123, 'Bob': 234} // 这里values也可以是序列或集合
{}表空字典,不是空集合
print(cantacts[Bob]) // 234
for key in cantacts:
print(key, cantacts[key])
items()
返回由字典项 ((键, 值) 对) 组成的一个新视图
keys()
返回由字典键组成的一个新视图。
values()
返回由字典值组成的
1)查找元素
可以用 in 操作符判断一个元素是否在一个集合中。
2)增加元素
cantacts[key] = value
将 cantacts[key] 设为 value。
3)删除元素
pop(key[, default]):
如果 key 存在于字典中则将其移除并返回其值,否则返回 default。 如果 default 未给出且 key 不存在于字典中,则会引发 KeyError。
del cantacts[key]
将 cantacts[key] 从 cantacts 中移除。 如果映射中不存在 key 则会引发 KeyError。
clear():移除字典中的所有元素。
4)其他方法
len(cantacts)
返回字典 cantacts 中的项数。