NO.6 列表,元祖,字典

列表

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/10/19 14:27
# @author : hezefan
# @file : 9.py

'''列表'''

str1 = 'asdsa'
print ( list (str1)) ##输出['a', 's', 'd', 's', 'a']

a = [ 'a' , 123 , 'b' , 'c' ]
print (a)
print ( type (a)) ##list
print ( dir (a))

#append 列表末尾追加元素
a.append( 'hello' ) #在列表a末尾追加一个hello
print (a)

#pop 列表末尾删除元素
print ( '###' * 50 )
a.pop()
print (a)

#index 跟str的find方法差不读
print (a[ 0 ],a[ 1 ],a[ 2 ]) #输出('a', 123, 'b')
print (a.index( 123 )) ##查找元素的位置

#insert 列表中插入一个元素
a.insert( 0 , 'fan' ) #在0的位置插入fan
print (a)

#remove 删除元素
a.remove( 123 ) #将元素123删除,如果有两个相同的元素,默认删除第一个
print a

#sort 对列表进行排序
print a
a.sort()
print (a)

#reverse 对列表进行反向排序
a.reverse()
print (a)

#列表切片 注意,切片时候最后一位娶后面数字-1的位置元素
print (a[:]) #将a的所有元素打印出来
print (a[ 3 :]) #从3位置开始,将剩余元素打印出来
print (a[: 3 ]) #把3位置之前的元素打印出来
print (a[ 1 : 3 ]) #把1,2位置的元素打印出来
b = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ]
print (b[ 1 : 5 : 2 ]) #取值为[1, 3],最后的2表示取值时候的间隔


##元组是一个不可变的list,不可以增删
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/10/19 17:13
# @author : hezefan
# @file : 10.py
'''元祖'''

str1 = 'dafdsb.fj,opfasnj5'
print ( tuple (str1)) ##将字符串转化为元组
a = tuple (str1)
print ( type (a)) ##输出tuple
b = ( 'a' , 'sda' , 123 ) ##直接定义元组
print ( type (b))

#但是命名tuple的时候要注意:单个元素的元组时候,元素后面要加上逗号,否则python解析器会认为这是个字符串
c = ( 'asd' ) ##c是字符串
print ( type (c))
d =( 'dasdas' ,) ##d是元组
print ( type (d))

#count统计某个元素的个数
tu1 = ( 'a' , 'b' , 'c' , 'a' , 'c' , 'a' , 'd' )
print (tu1.count( 'a' )) ##统计a有多少个
##index判断某个元素的位置
print (tu1.index( 'd' )) ## 判断d的位置,如果元素不存在则会报错
print (tu1.index( 'e' ))

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/10/19 21:00
# @author : hezefan
# @file : 11.py
'''字典'''

#字典 可变容器模型,可存储任意类型对象,key value用:隔开,不同的元素用逗号隔开。key不可变,值可以改变

##字典赋值的三种方法
a = { 'name' : 'hezefan' , 'age' : 100 , 'sex' : 'gong' }
b = dict ( a = 1 , b = 2 , c = 'abc' )
c = dict ([( 'name' , 'hezefan' ),( 'age' , 20 )])
print (a)
print (b)
print (c)
print ( '#####' * 30 )

#字典常用的方法
print ( dir (c))

#get方法,获取key的值.如果key指没有返回none
print (a.get( 'name' ))

#setdefault,和get的方法类似,但是呢,当key值不存在,可以指定返回值,且增加这组元素
print (a.setdefault( 'name' ))
print (a.setdefault( 'names' , 'bejing' )) ##key中没有names,设置返回值为beijing,不设置则返回为none.而且会给字典中增加设置的一组key值
print (a)

#keys获取字典的所有key值,并且以列表的形式打印出来
print (a.keys())
print (a.iterkeys()) ##将有所key值变成一个对象,现取现用

#values 获取字典所有的值
print (a.values())

#iteritems 将字典变成一个对象,现取现用
print (a.iteritems()) #将字典变成一个对象
for x,y in a.iteritems(): ##推荐采用此种方法
print (x,y) #打印出所有的元素

print (a.items()) ##同样打印出所有元素,但是字典也别大的话就特别占用内存,推荐采用第一种方法

#has_key判断有没有这个key值
#有key值返回ture,没有返回flase

#pop 将特定的key以及key对应的值删除
print (a)
a.pop( 'name' ) ##将name以及name对应的值删除
print (a)

#formkeys将列表中的所有值当成字典的key
l1 = [ 'a' , 'b' , 'c' , 'd' ]
m = dict .fromkeys(l1, 123 )
print (m) ##输出{'a': 123, 'c': 123, 'b': 123, 'd': 123}

#zip将两个列表合并为一个字典
l2 = [ 1 , 2 , 3 , 4 ]
n = dict ( zip (l1,l2))
print (n)

#update 将两个字典合并
n.update(a)
print n

#对字典进行排序 sorted 对字典进行排序,输出的值为列表
mm = dict ( a = 1 , b = 2 , c = 3 , d = 4 )
print (mm)
mn = sorted (mm.iteritems(), key = lambda xx:xx[ 1 ], reverse = False )
##xx随便写,写什么都行,xx[1]中的1表示以第二个值为排序对象,也可为0,false为证的顺序,ture为范旭
print ( type (mn))
print (mn)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值