list
有序集合,可随时添加和删除其中的数据。
在 Python 列表中删除元素主要分为以下 3 种场景:
- 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;
- 根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法;
- 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。
>>>classmates = ['zhao', 'qian', 'sun']
>>>len(classmates)
3
>>>classmates[-1]
'sun'
>>>classmates.append('li')
['zhao', 'qian', 'sun', 'li']
>>>classmates.insert(1,'zhqi')
['zhao', 'zhqi', 'qian', 'sun', 'li']
>>>classmates.pop()
['zhao', 'zhqi', 'qian', 'sun']
>>>classmates.pop(1)
['zhao', 'qian', 'sun']
>>>classmates[1] = 'xie'
['zhao', 'xie, 'sun']
extend() 函数用于在列表末尾一次性追加另一个序列中的多个值
aList = [123, 'xyz', 'zara', 'abc', 123];
bList = [2009, 'manni'];
aList.extend(bList)
print "Extended List : ", aList ;
>>Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
可以将 字符串直接变为 list
,例:
>>>list('python')
['p', 'y', 't', 'h', 'o', 'n']
tuple
有序集合,但是不能修改其内容(指向不变)。其使用同 list,只是没有添加与删除方法
>>>t = (1,) #定义只有一个元素的元组时
(1,)
dict
全称:dictionary,使用 键-值(key-value) 对存储
>>>d = {'zhao': 100, 'qian': 90, 'sun': 80}
>>>d['zhao'] = 101
# 判断key是否存在
>>>'zhao' in d
True
>>>d.get('zhao')
100
>>>d.pop('sun') #删除键-值
80
list 与 dic对比: list是用时间换空间,dict是用空间换时间;
dict:是通过key来计算value的存储位置,此算法 又名 哈希算法。因此作为key的对象不能变。
set
set 是一组key的集合,因为key不能重复,所以没有相同的key。可以视为数学意义上 无序与无重复 元素的集合,回此可以进行& |
运算。
>>>s = set([1, 2, 3 ])
>>>s.add(4) #添加
{1, 2, 3, 4}
>>>s.remove(4) #删除
{1, 2, 3}
可变与不可变
a = 'abc
其中 a 是变量, 'abc'是不可变的 字符串 常量,a 是指向 'abc’的。