目录:

一、字典

二、元祖

三、字符串方法、切片

四、非空即真,非0即真

五、文件

 

正文

一、字典

字典

d = {

    'username':'xiaohei',

    'id':1,

    'grand':'天马座',

    'addr':'北京',

    'age':29

}

1、增加

d = {
    'username':'xiaohei',
    'id':1,
    'grand':'天马座',
    'addr':'北京',
    'age':29
}

#增:2个方法
d['money'] = 500
d.setdefault('car','bmw')
print(d)

d['username'] = 123  #重复key,value覆盖
d.setdefault('grand','bmw') #存在key,value无效
print(d)

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key

 

 

 

2、查询

d = {
    'username':'xiaohei',
    'id':1,
    'grand':'天马座',
    'addr':'北京',
    'age':29
}
#取值:2个方法
print(d['addr'])
print(d.get('username'))
print(d)
# print(d['addrs'])  #不存在的key报错
print(d.get('usernames')) #不存在的key返回None
print(d.get('sex','男')) #get取不存在的key返回默认值

python判断字典嵌套key python怎么判断字典为空_bc_02

 

 

 

3、删除

#删除
print(d)
d.pop('username')
del d['addr']
print(d)

python判断字典嵌套key python怎么判断字典为空_ci_03

 

 

 

4、其他方法

1)取出字典所有key到一个list中

     取出字典所有values到一个list中

print(d.keys())#取出字典所有key到一个list中
print(d.values())#取出字典所有values到一个list中

python判断字典嵌套key python怎么判断字典为空_字符串_04

2)向字典里更新值

d = {
    'username':'xiaohei',
    'id':1,
    'grand':'天马座',
    'addr':'北京',
    'age':29
}

d.update(a=1,b=2)#向字典里更新值
print(d)

python判断字典嵌套key python怎么判断字典为空_ci_05

 

 

clear()

d.clear()#清空
print(d)

python判断字典嵌套key python怎么判断字典为空_字符串_06

 

 

 4)判断key是否存在

users = {
'fd':'123456',
'xzh':'45678'
}
username = 'fd'
# 判断key是否存在
print(username in users.keys())
print(username in users) #判断key是否存在,比keys()少一步转成list
#users.has_key(username)#python2

python判断字典嵌套key python怎么判断字典为空_ci_07

 

 

 5)取key和value值

#直接取到key和value
print("转成二维数组后取")
print(d.items())  # 转成二维数组
for k,v in d.items():
    print(k,v)

print("")
print("根据key取:")#性能好
for k in d:
    print(k,d.get(k))

python判断字典嵌套key python怎么判断字典为空_ci_08

 

 

 

练习:录入学生

users = {
    'fd':'1234',
    'lhy':'456'
}

for i in range(3):
    username = input('username:').strip()
    password = input('password:').strip()
    cpwd=input('cpwd:').strip()
    if username=='' or password=='' or cpwd=='':
        print("不能为空")
    elif password!=cpwd:
        print("两次输入不一致")
    else:
        users[username]=password
        print("注册成功")
        print(users)
        break
else:
    print('输入错误次数过多')

 

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_09

 

 

 

5、list字典嵌套

info = {
    'lgy':{
        'age':18,
        'addr':'beijing',
        'car':['bmw','ben-z','audi'],
    },
    'fd':{
        'house':{
            'bj':['海淀区','昌平区','朝阳区','西城区'],
            'sh':['静安区','闸北区']
        },
        'money':5000
    }
}

#lgy买了一辆五菱宏光

#fd卖了北京昌平的房子钱增加了400 0000

info['lgy']['car'].append("五菱宏光")
info['fd']['house']['bj'].remove('昌平区')
info['fd']['money']+=4000000
print(info)

python判断字典嵌套key python怎么判断字典为空_bc_10

#fd在重庆江北区买了房子

#info['fd']['house']['cq']=['江北区']
#info['fd']['house'].update(cq=['江北区'])
info['fd']['house'].setdefault('cq',['江北区'])
print(info)

{'lgy': {'age': 18, 'addr': 'beijing', 'car': ['bmw', 'ben-z', 'audi', '五菱宏光']}, 'fd': {'house': {'bj': ['海淀区', '朝阳区', '西城区'], 'sh': ['静安区', '闸北区'], 'cq': ['江北区']}, 'money': 4005000}}

 

二、元祖

l = (1,2,3,4,5)

元祖是不可变的列表

元祖一旦被创建,不能改变里面的值

 

只有2个方法

li = ('118.24.3.40','root','123456','3306')
#只有2个方法
print(li.index('root'))
print(li.count('root'))

python判断字典嵌套key python怎么判断字典为空_ci_11

 

 

 备注:只有一个元素的元祖要加逗号

t = ('abc') #只有一个元素不是元祖
m = ('abc',) #只有一个元素的元祖加逗号
print(t,type(t))
print(m,type(m))

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_12

 

 三、字符串

1、index

     find

s = 'abca'

#s.index() 找字符串下标(找不到会报错)
# s.find()  (找不到返回-1)
print("找字符串下标")
print(s.index('a'))
print(s.find('a'))
print(s.index('a',2)) #从第二个开始找,
print(s.index('a',0,10)) #找前10个,
print(s.find('a',2))

python判断字典嵌套key python怎么判断字典为空_字符串_13

 

2、s.strip() 去空格

#s.strip() 去空格
print("去空格、换行符或指定字符串")
s = ' abca,'
print(s.strip())
print(s.rstrip()) #去右边空格
print(s.lstrip())#去左边空格
print(s.strip(','))
s = ' abcad你好\n'
print(s)
print(s.strip()) #去换行符
print(s)

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_14

 

3、s.replace()替换

print("替换replace")
s = 'abcasffsfds'
print(s.replace('a','A'))#把小a用大A代替
#敏感词打码
word_list = ['傻逼','傻b','煞比','sb']
content = input("请输入")
for word in word_list:
    content = content.replace(word,'**')
print(content)

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_15

 

 

 4、lower() upper()  大写、小写转换

s = 'ABCabc'
print(s.lower())
print(s.upper())

python判断字典嵌套key python怎么判断字典为空_ci_16

 

 

 5、zfill()  补0

#s.zfill()  补0
s='1'
if len(s)<3:
    if len(s)==1:
        s='00'+s
    elif len(s)==2:
        s='0'+s
    else:
        s='0'
print(s)
print(s.zfill(5))

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_17

 

 

 6、

# s.isdigit() 判断是否输入为纯数字,自然数
# s.endswith() 以...结尾
# s.startswith()以...开头

s='1.23'
print(s.isdigit())
print(s.endswith('.py'))
print(s.startswith('1.'))

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_18

 

 

 7、center() 使用字符使内容居中

# s.center()
print('欢迎登陆'.center(50,'1'))  #用1字符凑够50个字符,输入内容居中

python判断字典嵌套key python怎么判断字典为空_字符串_19

 

 

 8、title() 将字符串变每个单词首字母大写

print('my car'.title())

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_20

 9、isspace()   判断输入的字符串中是全是空格

# s.isspace()
print('   '.isspace())#判断输入的字符串中是全是空格

python判断字典嵌套key python怎么判断字典为空_字符串_21

 

 

# s.isupper() 判断是否全为大写
# s.islower() 判断是否全为小写
print('my car'.islower())

 

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_22

 

 11、capitalize() 首字母大写

#capitalize()
print('my car'.capitalize()) #首字母大写

python判断字典嵌套key python怎么判断字典为空_ci_23

 

 12、s.split()分割字符串 

入参空默认按着空格和换行符分割字符串

s='''
aa
bb
cc
dd
'''
print(s.split())
s = 'aaa,bbb,ccc,ddd'
print(s.split(','))
print(s.split('z')) #没有该分割符,则把所有字符串放到一个list中

python判断字典嵌套key python怎么判断字典为空_bc_24

 

 13、s.join() 连接list里的每个元素的

l = ['aa','bb','cc','dd']
s ='   '.join(l)
print(l)
print(type(l)) #将原来的list变为字符串

python判断字典嵌套key python怎么判断字典为空_字符串_25

 

 

14、切片

 切片是list范围取值的一种方式

import  string
print(string.ascii_lowercase) #所有小写
print(string.ascii_uppercase)
print(string.digits) #所有数字
print(string.ascii_letters) #所有字母
print(string.punctuation) #所有符号

python判断字典嵌套key python怎么判断字典为空_ci_26

list切片

l=['a','b','c','d','e','f','g','h','i']
print(l[0:2])#切片,从0开始到第二个2结束  顾头不顾尾
print(l[2:])#从第二个开始到末尾
print(l[:3])#取到前3个
print(l[:])#取所有元素
print(l[0:9:2])#第三个参数:步长  0,0+2,2+2,4+2,6+2
#l=['a','b','c','d','e','f','g','h','i']
#    0   1   2   3   4   5   6   7   8

python判断字典嵌套key python怎么判断字典为空_字符串_27

 

 步长为负数

print(l[::-1])#如果步长为负数,取值从右往左开始取,同时,开始和结束下标也要写成负数
#l=['a','b','c','d','e','f','g','h','i']
#   -9  -8  -7  -6  -5  -4  -2   -2  -1
#i--f
print(l[-1:-4:-1])

python判断字典嵌套key python怎么判断字典为空_ci_28

字符串切片

s='abcdef'
print(s[::-1]) #只要有下标的都可以,包括list字符串元祖

python判断字典嵌套key python怎么判断字典为空_ci_29

 

 

15、list与循环语句

# print(list(range(1,5))) #[1, 2, 3, 4]

#    0  1  2  3  4  5  6  7  8  9  10
l = [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
for i in l:
    if i%2 == 0:
        l.remove(i)
print(l) #循环删除会导致下标错乱[1, 2, 3, 5, 7, 9]

#修改为
l = [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
l2=[0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
for i in l2:
    if i%2 == 0:
        l.remove(i)
print(l)

python判断字典嵌套key python怎么判断字典为空_bc_30

 

 为什么不能直接给l2赋值l

python判断字典嵌套key python怎么判断字典为空_ci_31

#浅拷贝/深拷贝
l = [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
l2=l#浅拷贝
print(id(l))
print(id(l2))
#/深拷贝
import copy
l = [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
l2=copy.deepcopy(l)
print(id(l))
print(id(l2))

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_32

 

 

#以下虽然内存地址不是同一个但也是浅拷贝
l = [1,2,3,[1,2,3]]
l3=l.copy() #嵌套的也会随l改变而变化
l4=copy.copy(l)
l5=l[:]
l[-1].append('abc')
print(l)
print(l3)
print(l4)
print(l5)

python判断字典嵌套key python怎么判断字典为空_ci_33

 

四、非空即真 非0即真

#非空即真,非0即真
#None {} () [] ''

username=input("username:")
password=input('password:')
if username.strip(): #不为空   if not username.strip(): #为空
    print('你输入的不为空')
else:
    print('username不能为空')

python判断字典嵌套key python怎么判断字典为空_字符串_34

d={'a':1}
if d:
    print("真,d不为空")

 

python判断字典嵌套key python怎么判断字典为空_bc_35

 

 

五、文件

python判断字典嵌套key python怎么判断字典为空_字符串_36

 

 

python判断字典嵌套key python怎么判断字典为空_ci_37

 

 1、只读

f = open('a.txt','r') #三种模式 w r a(附加模式) 默认读模式
# f = open('a.txt','r',encoding='utf-8') #有中文
result = f.read() #字符串
print(result)
f.close()

python判断字典嵌套key python怎么判断字典为空_ci_38

 

 2、文件中有中文

f.readlines()、f.readline()
f = open('a.txt','r',encoding='utf-8') #有中文
result = f.readlines() #列表
f.seek(0)
result2 = f.readline() #一行
print(result)
print("result2:"+result2)
f.close()

python判断字典嵌套key python怎么判断字典为空_字符串_39

 3、只写

#w只写
f = open('a.txt','w',encoding='utf-8')
f.write('nihao') #只能是字符串
names =['\nfd','lhy','wq']
new_name='\n'.join(names)
f.writelines(new_name) #可以循环写,只能是string类型
f.close()

#备注:
#写整数型需要转化成字符型写入
numbers=[1,2,3,4,5,6]
for index in range(len(numbers)):
    numbers[index]=str(numbers[index])
print(numbers)

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_40

 

 

 4、附加模式

#附加模式
f = open('a.txt','a',encoding='utf-8')
# result = f.read() 不能读
names =['fd','lhy','wq']
f.writelines(names)
f.close()

python判断字典嵌套key python怎么判断字典为空_字符串_41

 

 

 

5、读写

#r+  w+  a+  三种模式
#r+读写模式
#r r+打开不存在的文件都会报错
f = open('a.txt','r+',encoding='utf-8')
result = f.read()
print(result)
names =['fd','lhy','wq']
f.writelines(names)
print("readlines",f.readlines()) #有文件指针读完后指针已经到最后,不能读第二次
f.close()

python判断字典嵌套key python怎么判断字典为空_python判断字典嵌套key_42

6、a+

 a+模式默认总最后附加写,如何写在文件开头

方法1:先a+打开再w打开重新写

#写在开头
f = open('a.txt','a+',encoding='utf-8')
f.seek(0)
result = f.read()
new_content = 'ksitou'+result
f.close()
f = open('a.txt','w',encoding='utf-8')
f.write(new_content)
f.close()

python判断字典嵌套key python怎么判断字典为空_bc_43

 

 

 方法2

f.truncate()#清空文件内容

f = open('a.txt','a+',encoding='utf-8')
f.seek(0)
result = f.read()
f.seek(0)
new_result = result.upper()#将原文件内容改为大写
f.truncate()#清空文件内容
f.write(new_result)
f.close()

python判断字典嵌套key python怎么判断字典为空_bc_44