python学习笔记,视频day12-列表、元组、字典+整理

列表-list

li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]

  • 列表中用[ ]
  • ,分割每个元素
  • 列表的元素可以是数字、字符串、列表、布尔值...
  • “集合”,内部放置任何东西

功能:索引,切片,支持for、while 循环,修改,删除,in,字符串转换成列表(list())

li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
# 索引
print(li[2])
# 切片,切片结果也是列表
print(li[2:4])
结果
age
['age', ['杨幂', ['19', '10'], 'alex']]
#找到19
v=li[3][1][0]
print(v)
# 修改,索引方式
li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
li[1]="2222"
print(li)
结果
[11, '2222', 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
# 修改,切片方式
li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
li[1:3]=["2222","aaa"]
print(li)
# 结果
[11, '2222', 'aaa', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
# 支持for、while 循环
li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
for item in li:
    print(item)
结果
11
22
age
['杨幂', ['19', '10'], 'alex']
name
True
pu
# 删除,索引方式
li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
del li[1]
print(li)
结果
[11, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
# 删除,切片方式
li=[11,22,"age",["杨幂",["19","10"],"alex"],"name",True,"pu"]
del li[1:3]
print(li)
# 结果
[11, ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']


#删除某个值并获取删除的值,默认情况下删除最后一个值index--索引
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, 22,"pu"]
v=li.pop(2)
print(v)
print(li)
# 结果
age
[11, 22, ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 22]

# 删除列表中的某个值,左边优先
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, 22,"pu"]
v=li.remove(22)
print(v)
print(li)
# 结果
None
[11, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 22, 'pu']
#in
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
v=22 in li
print(v)
# 结果
True
# 字符串转换成列表,数字不能转换成列表
str = "fast2biubiu"
v=list(str)
print(v)
# 结果
['f', 'a', 's', 't', '2', 'b', 'i', 'u', 'b', 'i', 'u']

# 列表转换成字符串,若既有数字又有字符串
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
s=""
for item in li:
    s+=str(item)
print(s)
# 结果
1122age['杨幂', ['19', '10'], 'alex']nameTruepu

# 列表转换成字符串,列表中的元素只有字符串,通过join
li=["aa","bb","cc"]
v="".join(li)
print(v)
# 结果
aabbcc
 
 

 方法:

append、删除(del[0],del[2:8],pop,remove,clear)、extend、reverse()
# list类,li是list类中的一个对象,对象具有的方法都在list类中保存
#append调用方法时传递参数,原来值后追加
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
v=li.append(122)
print(v)
v2=li.append(["love",20])#li对象调用append方法
print(li)
# 结果
None
[11, 22, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 122, ['love', 20]]

#扩展原列表,(iterable可迭代的对象)
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
li.extend("age22")
li.extend(["wo","bu"])
print(li)
# 结果
[11, 22, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 22, 'a', 'g', 'e', '2', '2', 'wo', 'bu']

#insert,在指定索引位置插入元素
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
li.insert(2,"bu")
print(li)
# 结果
[11, 22, 'bu', 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu', 22]
 
#清空
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
li.clear()
print(li)
# 结果
[]
#copy,浅
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu"]
v=li.copy()
print(v)
# 结果
[11, 22, 'age', ['杨幂', ['19', '10'], 'alex'], 'name', True, 'pu']
# 计算元素出现的次数
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
v=li.count(22)
print(v)
# 结果
2
#根据值获得当前值的索引位置,(左边优先)
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, "pu",22]
v=li.index("name")
print(v)
# 结果
4
# 反转
li = [11, 22, "age", ["杨幂", ["19", "10"], "alex"], "name", True, 22,"pu"]
li.reverse()
print(li)
# 结果
['pu', 22, True, 'name', ['杨幂', ['19', '10'], 'alex'], 'age', 22, 11]

# 排序
li = [11, 22,33,44,22,1]
li.sort()
print(li)
# 结果
[1, 11, 22, 22, 33, 44]

# 排序
li = [11, 22,33,44,22,1]
li.sort(reverse=True)
print(li)
# 结果
[44, 33, 22, 22, 11, 1]
###欠
# cmp
# key
# sorted

元组-tuple(不可删除元素)

  • 用()
  • 元素可以是数字、字符串、元组、列表、布尔值
  • 为了区分元组和函数,一般在最后一个元素后加逗号
  • 元组的第一层级元素不可删除,可通过方法删除整个元组
# 元组是列表的二次加工,加工后元素不能被修改或删除

索引、切片、for循环、

# 索引 取值“daxia”:
tu=(11,"Alex",([22,"daxia",True],33,55),False,44,)
v=tu[2][0][1]
print(v)
# 切片 取值(([22,"daxia",True],33,55),False)
tu=(11,"Alex",([22,"daxia",True],33,55),False,44,)
v=tu[2:4]
print(v)

# for循环
tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,)
for item in tu:
print(item)
结果
11
Alex
([22, 'daxia', True], 33, 55)
False
44
转换
# 列表转换成元组
li=['pu', 22, True, 'name', ['杨幂', ['19', '10'], 'alex'], 'age', 22, 11]
tu=tuple(li)
print(tu)
# 结果
('pu', 22, True, 'name', ['杨幂', ['19', '10'], 'alex'], 'age', 22, 11)
# 元组转换列表
tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,)
v=list(tu)
print(v)
# 结果
[11, 'Alex', ([22, 'daxia', True], 33, 55), False, 44]
扫描二维码关注公众号,回复: 7242934 查看本文章
#count,获取指定元素在元组中出现的次数
tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,22,44) v=tu.count(44) print(v) # 结果 2
# 索引位置
tu = (11, "Alex", ([22, "daxia", True], 33, 55), False, 44,22,44)
v=tu.index(44)
print(v)
# 结果
#4

字典-dic

1、基本结构

  • 用{ }
  • 元素可以是数字、字符串、元组、列表、布尔值(在内存中存储为0,1)、字典

注意:

  若keys值同时有1和True,取keys为1对应的值;若有2和True,不影响;同理,False。

  字典是无序的,同一个程序每次输出的顺序不一致。

索引、删除、for循环、无while循环、无发切片查找

# 字典,中是harsh保存
#列表(动态)、字典(保存根据harsh表保存)0不能作为字典的key,value可以是任何值
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi",
    "k4":[
        222,
        {
            "KK1":33,
            True:"xiangmi"
        }
    ],
    "K5":("zhangyishan",22),
     False:22
}
print(dic)
# 结果:{1: 11, 'k2': 'alex', (22, 'yun'): 'yangzi', 'k4': [222, {'KK1': 33, True: 'xiangmi'}], 'K5': ('zhangyishan', 22), False: 22}
#索引
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi",
    "k4":[
        222,
        {
            "chaoge":("yangguo",55),
            "KK1":33,
            True:"xiangmi"
        }
    ],
    "K5":("zhangyishan",22),
     False:22
}
v=dic["k2"]
v1=dic["k4"][1]["chaoge"]
print(v,v1)
# 结果:
alex ('yangguo', 55)

 

# 字典支持删除
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi",
    "k4":[
        222,
        {
            "chaoge":("yangguo",55),
            "KK1":33,
            True:"xiangmi"
        }
    ],
    "K5":("zhangyishan",22),
     False:22
}
del dic["k2"]
del dic["k4"][1]["chaoge"]

print(dic)
# 结果:
# {1: 11, (22, 'yun'): 'yangzi', 'k4': [222, {'KK1': 33, True: 'xiangmi'}], 'K5': ('zhangyishan', 22), False: 22}

 

# 字典for循环,默认循环只有key
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi",
    "k4":[
        222,
        {
            "chaoge":("yangguo",55),
            "KK1":33,
            True:"xiangmi"
        }
    ],
    "K5":("zhangyishan",22),
     False:22
}
# for item in dic:
#     print(item)
for item in dic.keys():
    print(item)
# 结果:
# {1
# k2
# (22, 'yun')
# k4
# K5
# False


dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi",
    "k4":[
        222,
        {
            "chaoge":("yangguo",55),
            "KK1":33,
            True:"xiangmi"
        }
    ],
    "K5":("zhangyishan",22),
     False:22
}
# for item in dic:
#     print(item)
for item in dic.values():
    print(item)
# 结果:
# 11
# alex
# yangzi
# [222, {'chaoge': ('yangguo', 55), 'KK1': 33, True: 'xiangmi'}]
# ('zhangyishan', 22)
# 22
View Code
#取值key和value
#方法一
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi",
    "k4":[
        222,
        {
            "chaoge":("yangguo",55),
            "KK1":33,
            True:"xiangmi"
        }
    ],
    "K5":("zhangyishan",22),
     False:22
}
for item in dic:
    print(item,dic[item])

# 结果:
# 1 11
# k2 alex
# (22, 'yun') yangzi
# k4 [222, {'chaoge': ('yangguo', 55), 'KK1': 33, True: 'xiangmi'}]
# K5 ('zhangyishan', 22)
# False 22
#方法二
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi",
    "k4":[
        222,
        {
            "chaoge":("yangguo",55),
            "KK1":33,
            True:"xiangmi"
        }
    ],
    "K5":("zhangyishan",22),
     False:22
}
for k,v in dic.items():
    print(k,v)

dict方法

 

keys(),values、items、fromkeys、get、pop、setdefault、

 

 

#1、根据序列,创建字典,并指定统一的值
v=dict.fromkeys(["k1",122,"alex"],123)
print(v)
# 结果
# {'k1': 123, 122: 123, 'alex': 123}
#2、通过索引方式取值,若keys值不存在,报错。通过get取值不报错
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
}
v=dic.get("k111")
print(v)
# 结果
# None
# 表示keys值不存在时,将后面的值返回
v=dic.get("k111","yun")
print(v)
# 结果
# yun
 
 
#3、 删除并获取值
dic={
1:11,
"k2":"alex",
(22,"yun"):"yangzi"
}
v=dic.pop("k2")
print(v)
print(dic)
# 结果
# alex
# {1: 11, (22, 'yun'): 'yangzi'}
#popitem()随机删除
dic={
1:11,
"k2":"alex",
(22,"yun"):"yangzi"
}
v=dic.popitem()
print(v)
print(dic)
# 结果
# ((22, 'yun'), 'yangzi')
# {1: 11, 'k2': 'alex'}

dic={
1:11,
"k2":"alex",
(22,"yun"):"yangzi"
}
k,v=dic.popitem()
print(dic,k,v)
# 结果
# {1: 11, 'k2': 'alex'} (22, 'yun') yangzi
 
 
# 4、设置值,若已存在,不设置,获取当前keys对应的值;若不存在,获取当前keys对应的值
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
}
v=dic.setdefault("k3",223)
print(v,dic)
# 结果
# 223 {1: 11, 'k2': 'alex', (22, 'yun'): 'yangzi', 'k3': 223}
 
 
#update
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
}

v=dic.update(k1=11111,k2="yangmi")
print(dic)
# 结果
# {1: 11, 'k2': 'yangmi', (22, 'yun'): 'yangzi', 'k1': 11111}
 
 
#in
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
}
v="k1" in dic
print(v)
# 结果
# False
dic={
    1:11,
    "k2":"alex",
    (22,"yun"):"yangzi"
}
v="alex" in dic.values()
print(v)
# 结果
# True
 

 

  • @staticmethod # known case ,表示#静态方法,表示可以用类名.方法访问
  • (*args, **kwargs)表示万能参数 # def fromkeys(*args, **kwargs): # real signature unknown
  • **kwargs表示可以写成name="",也可以直接传字典

整理

常用的方法:
一、数字
  int()
二、字符串
  replace、find、join、strip、startwith、split、upper、lower、format
三、列表
  append、extend、insert
  索引、切片、循环
四、元组
  特性:一级元素不能修改删除增加
  索引、切片、循环
五、字典
  get、update、keys、values、items
  索引、循环
六、布尔值
  在内存中是0或1
  None,"",(),[],{},0===>False

 

猜你喜欢

转载自www.cnblogs.com/ppll/p/11462550.html