python中的集合详解(列表List,元组Tuple,字典,set)

1,列表-List----内容可变,长度可变,类型可以不同,有序

定义列表:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
获取列表数据:
list1[1]
list2[1:5]
更新列表:
list[2] = 2001;
删除元素:
del list1[2];
列表函数:
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print x, 1 2 3 迭代
列表截取:
L[2] 'SPAM!' 读取列表中第三个元素
L[-2] 'Spam' 读取列表中倒数第二个元素
L[1:] ['Spam', 'SPAM!'] 从第二个元素开始截取列表
其他方法:
cmp(list1, list2)
比较两个列表的元素
len(list)
列表元素个数
max(list)
返回列表元素最大值
min(list)
返回列表元素最小值
list(seq)
将元组转换为列表
list.append(obj)
在列表末尾添加新的对象
list.count(obj)
统计某个元素在列表中出现的次数
list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)
将对象插入列表
list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
移除列表中某个值的第一个匹配项
list.reverse()
反向列表中元素
list.sort([func])
对原列表进行排序

2,元组--tuple

python中,元组其实就是一个不可改变的列表

定义元组:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
tup1 = ();
tup1 = (50,);#元组中只包含一个元素时,需要在元素后面添加逗号
访问元组:
tup1[0]
tup2[1:5]
修改元组:
元组是不允许修改的 但是可以进行连接组合
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
tup3 = tup1 + tup2;
print tup3;
删除元祖:
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
tup = ('physics', 'chemistry', 1997, 2000);
del tup;
其他运算:
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x, 1 2 3 迭代
cmp(tuple1, tuple2)
比较两个元组元素。
len(tuple)
计算元组元素个数。
max(tuple)
返回元组中元素最大值。
min(tuple)
返回元组中元素最小值。
tuple(seq)

将列表转换为元组。

3,字典--相当于java中的map

创建字典:
d = {key1 : value1, key2 : value2,... }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
字典中的内容无序
访问字典:
dict['Name']
修改字典:
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

删除字典:
del dict['Name']; # 删除键是'Name'的条目
dict.clear();     # 清空词典所有条目
del dict ;        # 删除词典
其他方法:
cmp(dict1, dict2)
比较两个字典元素。
len(dict)
计算字典元素个数,即键的总数。
str(dict)
输出字典可打印的字符串表示。
type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
dict.clear()
删除字典内所有元素
dict.copy()
返回一个字典的浅复制
dict.fromkeys(seq[, val]))
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
dict.has_key(key)
如果键在字典dict里返回true,否则返回false
dict.items()
以列表返回可遍历的(键, 值) 元组数组
dict.keys()
以列表返回一个字典所有的键
dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)
把字典dict2的键/值对更新到dict里
dict.values()

以列表返回字典中的所有值

4.set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值