python 字符串 列表 字典 常用方法

今天学习内容如下:

1.学习昨天练习题目的解题新方法

 #1、使用while循环输入 1 2 3 4 5 6 8 9 10
'''
count = 0
while count < 10:
count += 1 # count = count + 1
if count == 7:
print(' ')
else:
print(count) count = 0
while count < 10:
count += 1 # count = count + 1
if count == 7:
continue
print(count)
'''
#3、输出 1-100 内的所有奇数
#方法一:
# count = 1
# while count < 101:
# print(count)
# count += 2
#方法二:
# count = 1
# while count < 101:
# if count % 2 == 1:
# print(count)
# count += 1 #5、求1-2+3-4+5 ... 99的所有数的和
# sum = 0
# count = 1
# while count < 100:
# if count % 2 == 0:
# sum = sum - count
# else:
# sum = sum + count
# count += 1
# print(sum) #6、用户登陆(三次机会重试)
#input 心中有账号,密码 while i = 0
while i < 3:
username = input('请输入账号:')
password = int(input('请输入密码:'))
if username == '咸鱼哥' and password == 123:
print('登录成功')
else:
print('登录失败请重新登录')
i += 1

2.下载python2.7.在pycharm中体验与Python3的不同,在pycharm中不断切换python2和python3

3.格式化输出%s和%d(在python2和python3下的不同)

# -*- encoding:utf8 -*-
# print(123)
# print("china")
# print("总怪") # 比较以下两者的不同
name = input('请输入姓名:')
year = input("请输入年龄:")
msg = "我叫%s,我今年%d" %(name,year)
# msg = "我叫%s,我今年%d" %(name,year)
print(msg) # name = raw_input('请输入姓名:')
# year = raw_input("请输入年龄:")
# msg = "我叫%s,我今年%d" %(name,int(year))
# # msg = "我叫%s,我今年%d" %(name,year)
# print(msg)
# print(123)
# print("china")
# print("总怪") # 比较以下两者的不同
name = input('请输入姓名:')
year = input("请输入年龄:")
msg = "我叫%s,我今年%d" %(name,year)
# msg = "我叫%s,我今年%d" %(name,year)
print(msg) # name = raw_input('请输入姓名:')
# year = raw_input("请输入年龄:")
# msg = "我叫%s,我今年%d" %(name,int(year))
# # msg = "我叫%s,我今年%d" %(name,year)
# print(msg)

在Python2中input输入的字符串必须加上引号,python3则默认输入的为字符串,需要读者仔细体会不同。

4.while,else中break的用法,跳出循环不执行else中内容,若改成pass则执行else

count = 0
while count <= 5 :
count += 1
if count == 3:break
print("Loop",count) else:
print("循环正常执行完啦")
print("-----out of while loop ------") count = 0
while count <= 5 :
count += 1
if count == 3:pass
print("Loop",count) else:
print("循环正常执行完啦")
print("-----out of while loop ------")

5.字符串常用的方法

# s = 16
# print(type(s))
# #
# b = str(s)
# print(b, type(b))
# print(1 > 2)
# print(2 > 1)
# s = 0
# m = bool(s)
# print(m)
# print(s[0])
# print(s[3])
# print(s[0:3])
# print(s[0:100])
# print(s[0:])#默认到最后
# print(s[5:-1])#-1就是最后一个
# print(s[0:-1:2])#加步长
# print(s[-1:0:-2]) #反向加步长
# s = 'dDg dg Dg'
# print(s.capitalize())#首字母大写
# print(s.swapcase())#大小写翻转
# print(s.title())#每个单词的首字母大写 # s1 = s.center(20, '0')# 内容居中,总长度,空白处填充
# print(s1)
# print(s.count('g'))#数字符串中的元素出现的个数。
# print(s.count('d', 0, 2))# 可切片
# s = 'ddg\tgdg'
# # s2=s.expandtabs()#\t前面的补全
# # # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
# # print(s2)
# s='gdkgljjldgj'
# #startswith 判断是否以...开头
# #endswith 判断是否以...结尾
# print(s.startswith('g', 2, 4))
# print(s.startswith('g',))
# print(s.startswith('g', 0, 4))
# print(s.endswith('g', 0, 4))
# print(s.endswith('g', 0, 5))
# s='dggdhhfkfd'
# print(s.find('sdg', 2, 5))
# print(s.find('dg', 0, 5))#寻找字符串中的元素是否存在
# print(s.find('g', 0, 5))# 返回的找到的元素的索引,如果找不到返回-1 # print(s.index('h', 0, 5))
# # print(s.index('nnb', 0, 5))# 返回的找到的元素的索引,找不到报错。
# s='dgs,gdh,ghf'
# #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
# print(s.split('s', 1))
# print(s.rsplit('g',1))
# print(s.split('g',2))
#format的三种玩法 格式化输出
# print('{},{},{}'.format(0,1,2))
# print('{} {} {}'.format(0,1,2))
# print('{2} {1} {0}'.format(0,1,3))
# print('{0} {2} {1}'.format(0,1,2))
# print('{0} {2} {2}'.format(0,1,3))
# print('{0} {2} {1}'.format('my','name','is'))
# print('{name} {age} {sex}'.format(name='sd',age='s',sex='m'))
# s=' %%%gdg%%dsjgldlj%%%% '
# print(s.strip('%'))
# print(s.strip())#删掉字符串开头或结尾的字符
# print(s.rstrip())
# print(s.rstrip('%'))
# # print(s.lstrip('%')) # 替换replace
# name='tom say :i have one tesla,my name is tom'
# print(name.replace('tom', 'sb',1)) #is系列
s='ddkjsdgj'
print(s.isalnum())#字符串由字母或数字组成
print(s.isalpha())#字符串只由字母组成
print(s.isdigit())#字符串只由数字组成
# s = [{'name': 'shang'}, {'age': '18'}, {'sex': 'male'}]
# for i in enumerate(s):
# print(i)
s = [{'name': 'shang1','age': '', 'sex': 'male'},
{'name': 'shang2','age': '', 'sex': 'male'},
{'name': 'shang3', 'age': '', 'sex': 'male'}]
for i,v in enumerate(s):
# print(i,v)
print(i,v['name'],v['age'],v['sex'])
print('编号{},姓名{},年龄{},性别{}'.format(i,v['name'],v['age'],v['sex']))

6.列表的增删改查

#  列表的元素增加
'''
li = [1,2,'a','s','g']
# li.insert(3,'w')
# li.append('w')
# li.extend('d,d,s')
# li.extend(['d','d','s'])
li.extend(['d','d','s','asd'])
print(li)
'''
# 列表的元素删除
# li=['s','g','d','g','s','s','h']
# print(li.pop(0)) #按照位置去删除,有返回值
# # print(li)
# # del li[0:3]
# # print(li) #按照位置去删除,也可切片删除没有返回值。
# print(li.remove('d')) #按照元素去删除
# print(li)
# print(li.clear()) #清空列表 # 列表的元素修改
li = ['s','g','d','d','e']
li[1] = 'h'
li[2:4] = ['s','g']
print(li)
a = ['s','s','g','h','d']
print(a.count('s'))#count(数)(方法统计某个元素在列表中出现的次数)。
print(a.index('s')) # sort (方法用于在原位置对列表进行排序)。
# reverse (方法将列表中的元素反向存放)。
print(a.sort())# 他没有返回值,所以只能打印a
print(a)
print(a.reverse())# 他没有返回值,所以只能打印a
print(a)

7.字典的增删改查

# 字典的增加

# dic = {'name': 'shang', 'age': 18, 'year': 23, 'sex':'male'}
# print(dic)
# # setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
# print(dic.setdefault('name','dg'))
# print(dic.setdefault('nam','dg'))
# print(dic) # 字典的删除
# dic = {'name': 'shang', 'age': 18, 'year': 23, 'sex':'male'}
# # print(dic.pop('name',23))
# print(dic)# pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值
# print(dic.pop('ame',23))
# del dic['name']
# print(dic) #print(dic.popitem())# 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回
# print(dic.clear()) # 清空字典
# print(dic) # 字典的修改
# dic = {'name': 'shang', 'age': 18, 'year': 23, 'sex':'male'}
# dic1={'name':'chun','age':'17','sggh':'ss'}
# print(dic1.update(dic))# 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
# print(dic1) # 字典的查看
# dic1={'name':'chun','age':'17','sggh':'ss'}
# print(dic1['name'])
# #print(dic1['nae'])# 没有会报错
# print(dic.get('nae','方法'))# 没有可以返回设定的返回值 # 其它
# dic1={'name':'chun','age':'17','sggh':'ss'}
# s = dic1.items()
# print(s,type(s)) 这个类型就是dict_items类型,可迭代的
# keys = dic1.keys()
# print(keys,type(keys)
# for i in dic1:
# print(i)
# for item in dic1.items():
# print(item)
# for key,value in s:
# print(key, value) # for i,v in dic1.items():
# print(i,v)字典的遍历 # s='上当过sdgjslgegljsd'
# for i in s:
# print(i) # li = ['alex','银角','女神','egon','太白']
# # for i in li:
# # print(i)
# #enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
# for i in enumerate(li):
# print(i)
#
# for index,name in enumerate(li):
# print(index,name)
#
# for index,name in enumerate(li,1):
# print(index,name)
# for index,name in enumerate(li,100):
# print(index,name)
# s='上当过sdgjslgegljsd'
# for i in enumerate(s):
# print(i)
#
# for index,name in enumerate(s):
# print(index,name)
#
# for index,name in enumerate(s,1):
# print(index,name)
# for index,name in enumerate(s,100):
# print(index,name) # range:指定范围,生成指定数字。
for i in range(10):
print(i) for i in range(1,10,2):
print(i) for i in range(10, 1, -2):
print(i)
上一篇:python字符串与字典转换


下一篇:jQuery事件命名空间