python自学第六课!(元祖、字典)

元祖

#元祖 tuple 元素不可被修改,不能被增加或删除
tu = (111,222,333,444,'star',True,[22,33],(11,22,33),)
v = tu[0]
v1 = tu[1:3]
print(v,v1)

可迭代对象:字符串、列表、元祖  的相互转换

s = 'fdsafdsafsdafd'
li = ['star',123]
tu = ('star','star')

#将字符串转换成元祖
v = tuple(s)
print(v)

#将列表转换成元祖
v1 = tuple(li)
print(v1)

#将元祖转换成列表
v2 = list(tu)
print(v2)

#将元祖转换为字符串
v3 = ''.join(tu)
print(v3)

('f', 'd', 's', 'a', 'f', 'd', 's', 'a', 'f', 's', 'd', 'a', 'f', 'd')
('star', 123)
['star', 'star']
starstar

取值

#元祖取值
tu = (111,222,333,444,'star',True,[(22,33)],(11,22,33),)
v = tu[6][0][0]
print(v)

22
元祖中一级元素不可修改/删除/增加
#元祖中的列表可以修改
tu = (111,222,333,444,'star',True,[(22,33)],(11,22,33),)
tu[6][0]= 123
print(tu)

(111, 222, 333, 444, 'star', True, [123], (11, 22, 33))

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

index()获取某一个值得索引位置

字典

1、字典结构

#字典
 info = {
     'k1':'v1',#键值对 key:value
     'k2':'v2'
 }
2、字典的value可以是任何值
#字典的value可以是任何值
info = {
    'k1':18,#键值对 key:value
    'k2':True,
    'k3':[11,22,33,
          {
              'kk1':'vv1',
              'kk2':'vv2',
              'kk3':(11,22)
          }
    ],
    'k4':(11,22,33,44)
}
print(info)


{'k1': 18, 'k2': True, 'k3': [11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}

3、列表、字典不能作为字典的key,key值重复的时候只显示一个
#布尔值、列表、字典不能作为字典的key
info = {
2:'adfd',
'k1':'adf',
True:'123',
(11,22):123

}
print(info)
{2: 'adfd', 'k1': 'adf', True: '123', (11, 22): 123}

4、字典是无序的

5、索引的方式找到指定值

#索引的方式找到指定值
info = {
    'k1':18,#键值对 key:value
    'k2':True,
    'k3':[11,22,33,
          {
              'kk1':'vv1',
              'kk2':'vv2',
              'kk3':(12,22)
          }
    ],
    'k4':(11,22,33,44)
}
print(info)

v = info['k1']
print(v)

v1 = info['k3'][3]['kk3'][0]
print(v1)

{'k1': 18, 'k2': True, 'k3': [11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (12, 22)}], 'k4': (11, 22, 33, 44)}
18
12



6、删除del

info = {
    'k1':18,#键值对 key:value
    'k2':True,
    'k3':[11,22,33,
          {
              'kk1':'vv1',
              'kk2':'vv2',
              'kk3':(12,22)
          }
    ],
    'k4':(11,22,33,44)
}    

del info['k3'][3]['kk1']
print(info)

7、字典支持for循环

info = {
    'k1':18,#键值对 key:value
    'k2':True,
    'k3':[11,22,33,
          {
              'kk1':'vv1',
              'kk2':'vv2',
              'kk3':(12,22)
          }
    ],
    'k4':(11,22,33,44)
}

#默认循环Key
for item in info:
    print(item)
for item1 in info.keys():
    print(item1)
#values()循环values值
for item2 in info.values():
    print(item2)
#items()循环键值对
for k,v in info.items():
    print(k,v)

 
k1
k2
k3
k4
k1
k2
k3
k4
18
True
[11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (12, 22)}]
(11, 22, 33, 44)
k1 18
k2 True
k3 [11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (12, 22)}]
k4 (11, 22, 33, 44)

8、

clear()

copy()

fromkeys()根据序列,创建字典,赋统一的值

#根据序列,创建字典,赋统一的值
v = dict.fromkeys(['k1',123,'999'],123)
print(v)

{'k1': 123, 123: 123, '999': 123}

get()根据key取值,key不存在的时候返回none,如果为none的时候可以指定返回一个值

#get()根据key取值,key不存在的时候返回none,如果为none的时候可以指定返回一个值
#如果用索引取值的话,不存在的key直接报错
dic = {'k1':'v1'}
v = dic.get('k111',1111)
print(v)

1111

pop()和popitem

dic = {'k1':'v1',
    'k2':'v2'
       }
# v = dic.pop('k001',20)
# print(dic,v)

#popitem随机删除一个键值对
k,v = dic.popitem()
print(dic,k,v)

{'k1': 'v1'} k2 v2
setdefault()设置值
#setdefault()设置值,如果key存在,不设置,可以获取当前的值
#不存在,设置,获取key对应的值
dic = {'k1':'v1',
    'k2':'v2'
       }
v = dic.setdefault('k3','123')
print(dic,v)

{'k1': 'v1', 'k2': 'v2', 'k3': '123'} 123
update()更新
#update更新
dic = {'k1':'v1',
    'k2':'v2'
       }
#dic.update({'k1':'1111','k3':123})
dic.update(k1=123,k3=345,k5='adfdsa')
print(dic)

    
{'k1': 123, 'k2': 'v2', 'k3': 345, 'k5': 'adfdsa'}

PS:keys() values() items() get() update() 需要掌握的

####################### 整理 #################

# 一、数字
# int(..)
# 二、字符串
# replace/find/join/strip/startswith/split/upper/lower/format
# tempalte = "i am {name}, age : {age}"
# # v = tempalte.format(name='alex',age=19)
# v = tempalte.format(**{"name": 'alex','age': 19})
# print(v)
# 三、列表
# append、extend、insert
# 索引、切片、循环
# 四、元组
# 忽略
# 索引、切片、循环 以及元素不能被修改
# 五、字典
# get/update/keys/values/items
# for,索引

# dic = {
# "k1": 'v1'
# }

# v = "k1" in dic
# print(v)

# v = "v1" in dic.values()
# print(v)
# 六、布尔值
# 0 1
# bool(...)
# None "" () [] {} 0 ==> False

猜你喜欢

转载自www.cnblogs.com/starz224/p/9133684.html
今日推荐