Python 列表、元组、字典、集合

初学Python,对列表、元组、字典、集合概念有点混淆,做个笔记

(1)列表:列表是一个有序的集合对象类型,列表内的元素可以通过索引进行修改,也可以通过切片获取指定长度的列表数据,个人感觉Python的列表和Java语言中的List集合比较类似,其定义方式如下所示:

#coding=utf-8
#定义一个列表
list0 = [11,55,33,88,'a','b','c']

列表可以通过索引来修改某一个元素
list0[4] = 99  #此时list0为[11,55,33,88,99,'b','c']

#使用for in 遍历列表
for item in list0:
print item

(2)元组:元组一旦定义就不可变,他可以存储不同类型的对象,元组也可以进行切片操作,其定义如下所示:

#coding=utf-8
#定义一个元组
tuple0 = (1, 2, 3, 4, 5)
#tuple0[0] = 10 错误操作,元组一经定义不能修改

tuple0[0] # 表示元组第一个元素,元组的索引从0开始
tuple0[-1] # 表示元组最后一个元素,负的索引从元组的尾部开始计数
tuple0[1:3] # 切片操作

# 使用 in 检查某元素是否存在于元组中
print 1 in tuple0 # True

#使用for in 进行遍历元组
for item in tuple0: 
    print item
    
# 如果需要获取item的序号 可以使用下面的遍历方法:
for index in range(len(tuple0)): 
    print tuple0[index]
    
# 还可以使用内置的enumerate函数
for index, item in enumerate(tuple0): 
    print '%i, %s' % (index, item)
 
 


(3)字典:字典定义了键值对一一对应的关系,以无序方式存储,字典存储的值可以是任意数据类型,个人感觉它和Java语言里面Map集合比较类似

#coding=utf-8
# 定义一个字典
dict0 = {'city' : 'wuhan', 'weather' : 'rain', 'time' : '14:30'}
# 为一个已经存在的 dictionary key 赋值,将简单覆盖原有的值。
dict0['city'] = 'Shanghai' 
dict0['weather'] = 'cloud' 

#使用dict()创建字典
dict1 = dict((['name','zhangsan'],['age',22]))
#{'name','zhangsan','age',22}

#遍历字典
for key in dict0.keys():
    if(key=='city'):
        del dict0[key]

#dict.has_key(key)判断key是否存在
print dict0.has_key('city')
#True

#dict.get(key,default) 返回键值key的值,若是key不存在,返回默认值 
print dict0.get('weather','null')
#cloud

#dict.pop(key)返回键值key的value ,删除原字典该减值
dict0.pop('time')

# del  从 dictionary 中删除键值为'sex'元素
del dict0['sex']  
dict0.clear()  # clear 从一个 dictionary 中清除所有元素

 

(4)集合:Python语言的集合是一个无序不重复的元素集,由于集合是无序的,所以集合不支持索引

#coding=utf-8
#定义一个集合
set0 = {1, 2, 3, 4, 5, 3, 4, 5}
print set0  #set([1, 2, 3, 4, 5])
# 添加新元素
set0.add(10)  

s = {1,2,3,4,5}
t = {4,5,6,7,8}

#并集:返回一个新的 set 包含 s 和 t 中的每一个元素  
print s.union(t)  
print s | t 

#交集:返回一个新的 set 包含 s 和 t 中的公共元素   
print s.intersection(t)  
print s & t  

#差集:返回一个新的 set 包含 s 中有但是 t 中没有的元素    
print s.difference(t)  
print s - t  

#返回一个新的 set,只在其中一个集合中出现的元素
print s.symmetric_difference(t)  
print s ^ t  

# 删除元素
set0.discard(10)   # 当元素不存在时,不会引发异常
set0.remove(10)    #如果没有要删除的元素,remove会引发一个异常
set0.pop()  # 因为set是无序的,所以pop会随机的从set中删除一个元素
set0.clear() #删除集合set0中的所有元素

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值