python基础篇 第三节课

list 类 ,列表

  li =[1,12,9,"age","alex"]   逗号分割每个元素   中括号括起来 列表中的元素可以是 数字,字符串,列表,布尔值......所有的都能放进去

  “集合”  内部放置任何东西

  索引取值 

li = [1,12,9,"age","alex"]
print(li[3])

#输出age

  切片,切片的结果也是列表

li = [1,12,9,"age","alex",True]
print(li[3:5])

#输出['age', 'alex']

  for循环

li = [1,12,9,"age","alex",True]
for item in li:
    print(item)

#输出
1
12
9
age
alex
True

  while循环

li = [1,12,9,"age","alex",True]
n = 0
while n < len(li):
    v = li[n]
    print(v)

    n +=1

#输出
1
12
9
age
alex
True

  列表元素,可以被修改

  索引修改

li = [1,12,9,"age","alex",True]
li[1] = 130
print(li)

#输出[1, 130, 9, 'age', 'alex', True]

  切片修改

li = [1,12,9,"age","alex",True]
li[1:4] = [333,888]
print(li)

#输出[1, 333, 888, 'alex', True]

  删除

li = [1,12,9,"age","alex",True]
del li[1] 
print(li)

#输出[1, 9, 'age', 'alex', True]

  切片删除

li = [1,12,9,"age","alex",True]
del li[1:4]
print(li)

#输出[1, 'alex', True]

  in 操作

li = [1,12,9,"age","alex",True]
v = True in li
print(v)

#输出True

  列表里的内容

li = [1,12,9,"age",["李怕怕",["19",10],"KLY"],"alex",True]
print(li[4][1][0][1])

#输出19

  字符串转换列表,内部使用for循环

s = "asdsaffgfgfh"
li = list(s)
print(li)

#输出['a', 's', 'd', 's', 'a', 'f', 'f', 'g', 'f', 'g', 'f', 'h']

  列表转化成字符串(需要写for循环一个一个处理:既有数字又有字符串)

li = [11,22,33,44,"123","alex"]  #既有字符串又有数字
s = ""
for i in li:
    s = s + str(i)
print(s)

#输出11223344123alex
li = ["KLY","123","alex"]   #全是字符串
v = "".join(li)
print(v)

#输出KLY123alex

  .append() 原来值的最后追加

li = [11,22,33,44]
li.append(55)
print(li)

#输出[11, 22, 33, 44, 55]
li = [11,22,33,22,44]
li.append([9495,"哈哈"])
print(li)

#输出[11, 22, 33, 22, 44, [9495, '哈哈']]

  .clear() 清空

li = [11,22,33,44]
li.clear()
print(li)

#输出[]

  .copy() 拷贝 ,浅拷贝

li = [11,22,33,44]
v = li.copy()
print(v)

#输出[11, 22, 33, 44]

  .count() 计算元素出现的次数

li = [11,22,33,22,44]
v = li.count(22)
print(v)

#输出 2

  .extend() 往列表里添加 字符 列表

li = [11,22,33,22,44]
li.extend([9495,"哈哈"])
print(li)

#输出[11, 22, 33, 22, 44, 9495, '哈哈']
li = [11,22,33,22,44]
li.extend("哈哈哈")
print(li)

#输出[11, 22, 33, 22, 44, '哈', '哈', '哈']

  .index(要索引的内容,开始位置,结束位置)    根据获取当前索引位置(最左优先)

li = [11,22,33,22,44]
v = li.index(22)
print(v)

#输出1
li = [11,22,33,22,44]
v = li.index(22,2,4)
print(v)

#输出 3

  .insert(位置,要插入的内容)  插入

li = [11,22,33,22,44]
li.insert(0,55)
print(li)

#输出[55, 11, 22, 33, 22, 44]

  .pop() 删除某个值 (默认是最后值),并获取删除的值

li = [11,22,33,22,44]
v = li.pop()
print(li,v)

#输出[11, 22, 33, 22] 44
li = [11,22,33,22,44]
v = li.pop(1)
print(li,v)

#输出[11, 33, 22, 44] 22

  .remove() 删除列表中的指定值,左边优先

li = [11,22,33,22,44]
li.remove(22)
print(li)

#输出[11, 33, 22, 44]

  .reverse()将前列表进行反转

li = [11,22,33,22,44]
li.reverse()
print(li)

#输出[44, 22, 33, 22, 11]

  .sort()排序默认 从小到大

li = [11,22,33,22,44]
li.sort()
print(li)

#输出[11, 22, 22, 33, 44]
li = [11,22,33,22,44]
li.sort(reverse=True)
print(li)

#输出[44, 33, 22, 22, 11]

列表,有序,元素可以被修改

 

元组 tuple 

  元素不可被修改,不能被增加或删除,一般写元组的时候,推荐在最后加逗号

  索引

tu = [11,"Alex",(33,44),[(22,44)],True,]
v = tu[3]
print(v)

#输出[(22, 44)]

  切片

tu = [11,"Alex",(33,44),[(22,44)],True,]
v = tu[0:4]
print(v)

#输出[11, 'Alex', (33, 44), [(22, 44)]]

  for循环,可迭代对象

tu = [11,"Alex",(33,44),[(22,44)],True,]
for item in tu:
    print(item)

#输出
11
Alex
(33, 44)
[(22, 44)]
True

  把字符串转变为元组

s = "abcdefg"
v = tuple(s)
print(v)

#输出('a', 'b', 'c', 'd', 'e', 'f', 'g',)

  把列表转变为元组

li = ["abcd",123]
v = tuple(li)
print(v)

#输出('abcd', 123,)

  把元组转变为列表

tu = (132,456,"dasd",)
v = list(tu)
print(v)

#输出[132, 456, 'dasd']

  把元组变为字符串

tu = ("hhhasda","dasd",)
v = " ".join(tu)
print(v)

#输出hhhasda dasd

  寻找元组里元素的位置

tu = ("hhhasda",132,[(11,22)],"dasd",)
v = tu [2][0][1]
print(v)

#输出22

元组的一级元素不可修改

tu = ("hhhasda",132,[(11,22)],"dasd",)
tu [2][0] = 438
print(tu)

#输出('hhhasda', 132, [438], 'dasd',)

  .count() 获取指定元素在元组中出现的次数

tu = ("hhhasda",132,[(11,22)],"dasd",132,)
v = tu.count(132)
print(v)

#输出2

  .index(要查找的内容,开始位置,结束位置) 获取指定元素在元组中的位置

tu = ("hhhasda",132,[(11,22)],"dasd",132,000,)
v = tu.index(132,2,-1)
print(v)

#输出4

 

字典 dict

  基本结构

  info={“k1”:"v1","k2":"v2"}

  value 可以是任何值

  列表,字典不能作为字典的keys    info = {1:“adsf”,“k1”:“sadsd”,True:4543}

  字典是无序的,无法切片

  索引方式找到指定元素

info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
v = info["k1"]
print(v)

#输出 18
info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
v = info["k1"]
print(v)

#输出11

  删除元素

info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
del info["k3"]
print(info)

#输出{'k2': True, 'k4': (11, 22, 33, 44), 'k1': 18}
info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
del info["k3"][3]["kk1"]
print(info)

#输出{'k3': [11, 22, 33, {'kk2': 'vv2', 'kk3': (11, 22)}], 'k1': 18, 'k4': (11, 22, 33, 44), 'k2': True}
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for item in info:
    print(item)

#输出
k2
k3
k1
k4
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for item in info.keys():
    print(item)

#输出
k2
k1
k3
k4
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for item in info.values():
    print(item)

#输出
3
1
2
4
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for k,v in info.items():
    print(k,v)

#输出
k3 3
k2 2
k1 1
k4 4

  根据序列,创建字典,并指定统一的值

v = dict.fromkeys(["k1",123,"999"],123)
print(v)

#输出{123: 123, 'k1': 123, '999': 123}

  根据key获取值,key不存在时,指定默认值(none)

dic = {"k1":3}
v = dic.get("k1")
print(v)

#输出3
dic = {"k0":3}
v = dic.get("k1",1111)
print(v)

#输出1111

  删除,指定key 删除并获取值

dic = {"k1":3,"k2":4}
v = dic.pop("k1")
print(dic,v)

#输出{'k2': 4} 3
dic = {"k1":3,"k2":4}
k,v= dic.popitem()
print(dic,k,v)

#输出{'k1': 3} k2 4

  设置值,已存在,不设置,获取当前key对应的值

      不存在,设置,获取当前key对应的值

dic = {"k1":3,"k2":4}
v = dic.setdefault("k111",41541)
print(dic,v)

#输出{'k1': 3, 'k2': 4, 'k111': 41541} 41541

  更改values的内容

dic = {"k1":3,"k2":4}
dic.update({"k1":41541,"k3":4545})
print(dic)

#输出{'k2': 4, 'k1': 41541, 'k3': 4545}
dic = {"k1":3,"k2":4}
dic.update(k1 = 123,k3 = 4889,k5 = "dsad")
print(dic)

#输出{'k2': 4, 'k3': 4889, 'k1': 123, 'k5': 'dsad'}

(k1 = 123,k3 = "dds")**kwargs  转换成字典

 

布尔值

  bool(...)

  none "" () [] {} 0 ———— false

posted @ 2018-08-26 16:44  Lune23333  阅读(123)  评论(0)    收藏  举报