python的对象类型-----列表&元组&字典

列表:

#定义列表
 l=[1,'a',[3,4]]  #l=list([1,'a',[3,4]])

#取值
 print(l[0])
 print(l[2][0])

 l=[1,2,[['a','b'],'c']]
 print(l[2][0][1])

#循环
 l=[1,2,3,[4,5]]

 count=0
 while count < len(l):
     print(l[count])
     count+=1

 for count in range(len(l)):
     print(l[count])
 l=[1,2,3,[4,5]]
 for count in range(len(l)):
     if type(l[count]) is list:
         #pass
         for i in range(len(l[count])):
             print(l[count][i])
     else:
         print(l[count])

 l=[1,2,3,[4,5]]
 l_size=len(l)
 for index in range(l_size):
     value=l[index]
     if type(value) is list:
         #value是列表,value=[4,5]
         for i in range(len(value)):
             print(value[i])
     else:
         #value不是列表,直接打印
         print(value)


#id不动,type也不动,value被修改了,则称为可变类型
#可变指的是:在id和type不动的前提下,值可变

 print(l[0])
 print(l[2][1])
 l[0]=11111111111111111
 print(l)
 print('修改之后的列表:',id(l),type(l),l)

#列表常用操作
# 索引
# 切片
 l=['ab',1,2,'hello']
 print(l[1:3]) #切片操作是读操作,并不会修改原来的数据
 print(l)

# 追加
 l=['ab',1,2,'hello']
 print(l)
 l.append('alex')
 print(l)
# 插入
 l.insert(0,'first')
 print(l)
 l.insert(2,'abc')
 print(l)
# 删除
 l=['a','b','c','hello']
 print(l)
 l.pop(1)
  l.pop(0)
 print('刚刚删除的元素是',l.pop(0))
 print(l)


#队列:先进先出
l=[]
#append与pop(0)
#入队列
 l.append('people1')
 l.append('people2')
 l.append('people3')
 print(l)
#出队列
 print(l.pop(0))
 print(l.pop(0))
 print(l.pop(0))

#insert(0,item)
#入队
 l.insert(0,'people1')
 l.insert(0,'people2')
 l.insert(0,'people3')
 print(l)

#出队
 print(l.pop())
 print(l)
 print(l.pop())
 print(l)
 print(l.pop())

#堆栈:先进后出,或者说后进的先出
#append与
 l=[]
 l.append('people1')
 l.append('people2')
 l.append('people3')
 print(l)
 print(l.pop())
 print(l.pop())
 print(l.pop())

# 长度
 l=[1,2,3]
 print(len(l))

# 包含
 s='alex is sb'
 print('sb' in s)

#列表的其他操作
l=list(['a1','a2','a3'])

 print(l)
 print(l.index('a2'))

 l.append('a2')
 print(l.count('a2'))
 print(l)
 l.extend([1,2,3])
 l.append([1,2,3])
 print(l)

 print(l)
 l.remove('a2')

 l=[2,3,1]
 l.sort(reverse=True)
 print(l)

 l=['a','c','alex']
 l.reverse()
 print(l)
tips for list

元组:

#元组的元素可以是任意数据类型
#元组是不可变的

 t=('a',1,'b',1,(3,4))
 print(id(t),type(t),t)

#取值
 print(t[4][0])

#循环
 t=('a',1,'b',1,(3,4))
 index=0
 while index < len(t):
     print(t[index])
     index+=1

 for i in range(len(t)):
     print(t[i])

#tuple类型的方法
 print(t.count(1))
 print(t.index('b'))

#tuple常用操作
 t=('a',1,'b',1,(3,4))
  print(t[1:3])
  print(t)

# 长度
# print(len(t))

# 包含
# print('a' in t)

#元组的特性是:不可变,元组的元素可以是任意数据类型
 t=(1,2,['a','b'])
 print(id(t),type(t),t)

 t[2][0]='aaaaaaa'
 print(t)
 print(id(t),type(t),t)

 t[2]=3
 t[2][0]=123123123123

#评论
 comments=[('真傻比',),('确实傻逼',)]
 print(comments)
  comments.pop(0)
 comments[0]='真牛逼'
 print(comments)#元组的元素可以是任意数据类型
tips for tuple

字典:

#字典的定义
d={key1:value1,key2:value2,....}
 d1={}
 d2=dict()
 print(d1,d2)

 d3=dict(x=1,y=2,z=3)
 print(d3)
 d4=dict({'x':1,'y':2,'z':3})
 print(d4)

 d5=dict([('x',1),('y',2),('z',3)])
 print(d5)

 d6={}.fromkeys(['name','age'],None)
 print(d6)

 d7={}.fromkeys(['name','age'],['egon',18])
 print(d7)

 d={'name':'alex','sex':'male'}

 d1={'name':'alexsb','age':50}
 d.update(d1)
 print(d)


#字典的常用方法
d={'x':1,}
#清空字典
 d.clear()
 print(d)

#取值
 print(d['x'])
 print(d['y'])
#get不会报错,如果找不到会输出none,若加了提示信息会打印提示语句
 print(d.get('y'))
 print(d.get('y','找不到的啦'))
 print(d.get('x','找不到的啦'))

 for item in d.items(): #[('x', 1), ('y', 1)]
     print(item)

 for k,v in d.items(): #[('x', 1), ('y', 1)]
     print(k,v)

 for i in d:
     print(i)

 d={'x':1,'y':1}
 print(d.keys())

 for i in d.keys():
     print(i)
 d={'x':1,'y':1}
 print(d.keys(),type(d.keys()))
 res=list(d.keys())
 print(res,type(res))

d={'x':1,'y':12222}
 print(d.values())
 print(list(d.values()))
 print(list(d.values())[1])

#删除元素
 res=d.pop('y')
 print(res)
 print(d)

#若删除不存在的元素,不报错并打印提示信息
# d={'x':1,'y':12222}
# print(d.pop('z','没有的啦'))

#
 d={'x':1,'y':12222}
 print(d.popitem())
 print(d)

 d={'x':1,'y':12222}
#加入元素,如果存在则覆盖
 d.setdefault('z',3)
 print(d)

 d['name']='egon'
 print(d)
 d={'x':1,'y':12222}
 print(d.setdefault('x',3333333333333333333333333333))
 print(d)

#新增
 d={}
 d['x']=1
 print(d)

# 删除
 d.pop('x')
 d.popitem()
# 键、值、键值对
 d.keys()
 d.values()
 d.items()

# 长度
# d={'x':1,'u':2}
# print(len(d))

# #成员运算
 d={'x':1,'u':2} 
 print('x' in d)
 print(1 in d.values())
tips for dict

 

posted @ 2017-06-09 09:41  皖心  阅读(163)  评论(0编辑  收藏  举报