Day12

#可迭代对象====可以被for循环进行获取
list#类
li = [1,2,3,'faker',['faker_mir','bangji'],Ture]#列表相当于其他语言的数组,python列表允许不同类型的数据在一起
#中括号扣起来,逗号分隔每个元素,列表中的元素可以是数字,字符串,列表,布尔值.....所有的都能放进去
#通过索引取List的值,通过切片取值。切片的结果也是一个列表。
lis[0]  lis[3:5]  
#列表也支持for循环
#列表的元素可变,大概相当于C语言中的链表。
del lis[0] #删除列表第一个元素
del lis[1:3]#切片删除
del lis #删除整个列表。
li[1:2] = [120,90]#列表切片的修改。
li[1] = 22 #列表索引的修改。
#in操作同样可以用。
#将字符串List化
sr = "faker"
li = list(sr)
>>>>>>['f','a','k','e','r']
#列表将别的东西变成列表时,是调用的for循环。
#字符串可以强转为列表,内部使用for循环。
#既有数字又有字符串的列表转换为字符串,要for循环遍历,加强制转换
#join()在内部也是进行for循环,如果列表中只有字符串,可以用''.join(l)来进行列表转成字符串的操作。
#由于list是可修改的。故直接调用功能即可。
li.append('faker')#append用来在原来列表之后追加,可以追加任何东西(列表等)
li.clear()#清空列表
l2 = li.copy()#复制列表 浅拷贝
l2.copy(l1)#

v= li.count(元素值)#计算某元素出现的个数
li.extend(可迭代的类型)#将可迭代的类型(字符串,列表等)扩展至li尾端。 内部执行的是for循环。
如 li.extend("faker")#将会把'f','a'.....逐一加至列表末端。
li.index(元素,可选rangea,可选rangeb)#从前往后找元素第一次出现的位置
li.insert(index,元素)#向index位置插入元素
v = li.pop(可选index)#默认情况下把最后一个元素删除,并且能返回删除的值,传入index的话,删掉index,返回index元素的值。
li.remove(value)#从前往后,将第一个值为value的元素删掉。
#删除:pop remove del clear
li.reverse()#列表反转
li.sort()#从小到大排序
li.sort(reverse = True)#从大到小排序 注意,Int和str混合的列表不能排序。
#列表是有序的,元素可以被修改。


#####元组___tuple
tu = (11,22,3,"faker",True,[()],)
#元组:元素不可被修改,不可增加、删除元素
#一般写元组的时候,在最后多加一个逗号。区分自己的代码写的是否是元组。语法并不强制要求。
tu[0]  #通过索引取值
tu[0:2] #切片
#支持for循环,也是可迭代对象。
v = tuple(s)#字符串转换成元组。内部是通过for循环来实现的。
v = tuple(l)#列表转换成元组。
v = list(tu)#把元组转换成列表。
#把元组转换成字符串,同列表一样。
#元组也是有序的。
#元组的一级元素不能修改/删除/增加。如果是元组中包含了列表,那列表中的东西爱咋改咋改。
#但是,如果列表中又包含了元组,那么被包含的元组的一级元素还是不能修改。
#count(value)统计value出现的次数
#index(value,rangeA,rangeB)#range可选,从左到右获取value第一次出现的index



###字典dict
info = {k1:v1,#键值对
    k2:v2
    }#字典
#键值对的value,可以是任意类型,可以嵌套任何层
#数字、字符串、元组都能当key。字典保存是用的Hash.
#字典是无序的。
#取字典中的元素:
v = info[k1]#既通过索引的方式找到。
#因为字典是无序的,所以不能切片。
del info[k1]#删除键值对
#字典不能用while遍历
#字典用for循环遍历时,默认情况下只有key。
for i in info: #等价于 for i in info.keys:#只取出key值
for i in info.values:#只取出value值
for k,v in info.items:#键值对都可以获取到。
#key值如果重复的话,只能保留一个键值对。
info.clear()#清空字典
info.copy()#浅拷贝
v = 类名.fromkeys(valuea,valueb)#根据序列,创建字典。key值为valuea,value值均为valueb.
v = info.get(key,可选tag)#key存在,则返回value,key不存在则默认返回None,如果指定了tag,则返回tag.
v = info.pop(k1,可选tag)#删掉k1键值对,并将k1对应的value返回给v。如果没有k1键值对,就将tag值返回给v
v = info.popitem()#随机删除一个键值对,并将该键值对搞成一个元组返回给v
k,v = info.popitem()#随机删除一个键值对,并将key和value原样赋值给k,v
v = setdefault(key,value)#设置值,已存在k,则不设置值,而且获取当前k对应的v.
#如果不存在k,则设置值,返回key对应的value.
info.update(dictionary)#将dictionary中的值更新到Info中。
info.update(k1 = v1,k2 = v2,k3 = v3)#将键值对k1,k2,k3更新到info.
####划重点:keys() values() items() get() update()


#################总结
1.数字  
    int(xx)
2.字符串
    #replace/find/join/strip/startswith/endswith/split/upper/lower/format
    temp = "i am {name},age:{age}"
    v = temp.format(name='faker',age=18)
    v = temp.format(**{'name':'alex','age':18})
    #上面两条语句是等效的。第二种写法是传了个字典进去,注意,字典前面加**
3.列表
    append/extend/insert
    索引,切片,循环
4.元组
    索引,切片,循环,特性(一级元素不能被修改,删除,增加)
5.字典
    get/update/keys/values/items
    for/索引

列表,元组,字符串,字典都可以用in。
info = {'k1':'v1'}
v = "k1" in info # v == True  因为默认info去找key
v = "v1" in info.values() # v == True 通过调用values方法,去寻找value.
6.bool值
    为假的值:None "" () [] {} 0



阅读更多
个人分类: python
上一篇Day 11
下一篇pycharm安装与破解(for windows and linux)
想对作者说点什么? 我来说一句

day12 java

2015年11月11日 717KB 下载

没有更多推荐了,返回首页

关闭
关闭