0221第四天,元组和字典

#顺序取字符串中的数字组成整数
a="'abc12w9w8e"
b=0
for i in a:
    if i.isdigit():
    # if '0'<=i<='9':
       # b=b*10+int(i)
        b=b*10+ord(i)-48
print(b)

a="'abc12w9w8e"
b=0
for i in a:
    if '0'<=i<='9':
        b=b*10+ord(i)-48
print(b)

a=(1,2,3)
print((type(a))) # 元组 tuple
a[0]=100 # 元组和字符串一样,不能增删改
print(a)

a=(1,2,3) # 遍历输出元组
for t in a:
    print(t)

a=(12,5,4,35,3) # 遍历输出元组
for i in range(len(a)):
    print(i,a[i])

a=(12,5,4,35,3)
print(a[::2])
print(a[8:0:-1]) # 倒着时,初始下标超出,没有报错。注意结束下标对应值不被“切”
print(a[4:0:-1])
print(a[-1:-3:-1])

a=(1,23) # tuple
b=(1) # int
c=(1,) # tuple
d=() # tuple
e=("we") # str
print(type(a),type(b),type(c),type(d),type(e))
c=(1,)
print(c[0])
print(c[1]) # tuple index out of range

a,b=(1,2)
print(a,type(a))
print(b,type(b))
a,b,c=(1,2,'c')
print(a,type(a))
print(b,type(b))
print(c,type(c))
a,b=(1,2,'c') # 报错,解压的值太多
print(a)
print(b)
a,b=(2,) # 报错,解压的值太少
print(a)
print(b)

a,b='xy'
print(a)
print(b)

a=(3,5,6)
b=[3,'c',9]
b.extend(a) # 元组,字符串,不能增删改。 列表能增删改。
print(b)

a=(3,5,6)
b=[3,'c',9]
i=0
for j in a:
    b.insert(i,j)
    i+=2
j=0
while i<len(b):
    b.insert(i,a[j])
    i+=2
    j+=1
print(b)

# 打印二位数列
a=[[1,2,3],[4,5],[6,7,8,9],['a','b','c','d']]
for i in a:
    for j in i:
        print(j,end=' ')
    print()

for i in range(len(a)):
    for j in range(len(a[i])):
        print(a[i][j],end=' ')
    print()

i=0
while i<len(a):
    j=0
    while j<(len(a[i])):
        print(a[i][j],end=' ')
        j+=1
    i+=1
    print()

#字典的2种声明方式
a={'name':'张三',"age":18,"address":'河北'}
b=dict(name="张三",age=18,address="河北")
print(a)
print(b)

print(a['name']) # 字典访问 值,知道键从而访问值,字典中有“键key”和“值value”
a['sex']='男' # 字典添加元素
print(a)

a={'name':'张三',"age":18,"address":'河北'}
a['age']=22  # 改 值value
print(a)

a={'name':'张三',"age":18,"address":'河北'}
del (a['name'])  # 删
print(a)

a={'name':'张三',"age":18,"address":'河北'}
a.pop('name')
print(a.pop('age')) # 返回删除的 value ,pop 和get ,如果键找不到,返回给定的 value

a=a={'name':'张三',"age":18,"address":'河北'}
del(a['name'])
a.pop('age')
print(a)

a={'name':'张三',"age":18,"address":'河北'}
a.clear()

a={'name':'张三',"age":18,"address":'河北'}
a.popitem()

a={'name':'张三',"age":18,"address":'河北'}
print(a['sex']) # 会报错,就如同下面第3行
a=[2,3]
print(a[0],a[1])
print(a[2])

a={'name':'张三',"age":18,"address":'河北'}
print(a.get('name'))
a={'name':'张三',"age":18,"address":'河北'}
print(a.get("sex"))  #找不到,返回None
# print(a.pop('sex'))  # 找不到,报错
a={'name':'张三',"age":18,"address":'河北'}
print(a.get("sex","男")) # 找不到,返回给定的"男"
print(a.pop("sex","男")) # 找不到,返回给定的"男"
a={'name':'张三',"age":18,"address":'河北'}
print(a.get("name","猪")) #找得到,返回找到的值

a={'name':'张三',"age":18,"address":'河北'}
print(a.keys())
print(a.values())
print(a.items())
for k,v in a.items(): # 打印出来,显示的方式
    print(k,v)

a='nihao'*3
b='你好'+"北京"
print(a,b)

# 打印下面元组里面的 键,值 成行列格式
a={
    "001":{"name":"张三","age":18,"adress":"北京"},
    "002":{"name":"李四","age":28,"adress":"河北"},
    "003":{"name":"王五","age":38,"adress":"天津"},
    "004":{"name":"赵六","age":48,"adress":"北京"},
    "005":{"name":"王二麻子","age":58,"adress":"河北"}
}
for k1,v1 in a.items():
    print(k1,end=' ')
    for k2,v2 in v1.items():
        print(k2,v2,end=' ')
    print()

# 如果地址是北京,在内层元组添加一个item  "house":10000,房补10000元
a={
    "001":{"name":"张三","age":18,"address":"北京"},
    "002":{"name":"李四","age":28,"address":"河北"},
    "003":{"name":"王五","age":38,"address":"天津"},
    "004":{"name":"赵六","age":48,"address":"北京"},
    "005":{"name":"王二麻子","age":58,"address":"河北"}
}
# for k,v in a.items():
#     if v['adress']=="北京":
#         v["house"]=10000
# print(a) #为了让打印结果能显示成矩阵,做如下3行处理,
# for k,v in a.items():
#     print(k,v)
# print()

for k1,v1 in a.items():
    if v1['address']=='北京':
        v1['house']="10000"
for k1,v1 in a.items():
    print(k1,v1)
print()

猜你喜欢

转载自blog.csdn.net/weixin_44675370/article/details/87869961