复习
dict: dic = {'name':'alex'}
增:dic['age'] = 21 存在就覆盖
dic.setdefault() 存在什么也不做,没有就增加
删除:pop()按照key删除,有返回值
clear
del dic['name']
popitem()随机删除 返回的是元祖
改 update #覆盖添加
查
dic.keys()
dic.values()
dic.items()
for k,v in dic.items():
print(k,v)
dic.get(key,None) #没有值返回后面的参数none
习题
''' 3、元素分类 有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。 即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表} ''' li= [11,22,33,44,55,66,77,88,99,90] dic ={} l_greater=[] #大于66的所有值列表 l_less=[] #小于66的所有值列表 for i in li: if i == 66:continue if i > 66 : l_greater.append(i) else : l_less.append(i) dic.setdefault('k1',l_greater) dic.setdefault('k2',l_less) print(dic)
# 输出:{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55]}
''' 4、输出商品列表,用户输入序号,显示用户选中的商品 商品 li = ["手机", "电脑", '鼠标垫', '游艇'] 要求:1:页面显示 序号 + 商品名称,如: 1 手机 2 电脑 … 2: 用户输入选择的商品序号,然后打印商品名称 3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。 4:用户输入Q或者q,退出程序。 ''' flag = True while flag: li = ["手机", "电脑", "鼠标垫", "游艇"] for i in li: print('{}\t\t{}'.format(li.index(i)+1,i)) num_of_chioce = input('请输入选择的商品序号/输入Q或者q退出程序:') if num_of_chioce.isdigit(): num_of_chioce = int(num_of_chioce) if num_of_chioce > 0 and num_of_chioce <= len(li): print(li[num_of_chioce-1]) else:print('请输入有效数字') elif num_of_chioce.upper() == 'Q':break else:print('请输入数字')
index()
函数用于从列表中找出某个值第一个匹配项的索引位置。
语法
index()方法语法:
list.index(obj)
参数
- obj -- 查找的对象。
返回值
该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
实例
以下实例展示了 index()函数的使用方法: #!/usr/bin/python3 list1 = ['Google', 'Runoob', 'Taobao'] print ('Runoob 索引值为', list1.index('Runoob')) print ('Taobao 索引值为', list1.index('Taobao')) 以上实例输出结果如下: Runoob 索引值为 1 Taobao 索引值为 2
描述
index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
语法
index()方法语法:
str.index(str, beg=0, end=len(string))
参数
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则抛出异常。
实例
以下实例展示了index()方法的实例: #!/usr/bin/python3 str1 = "Runoob example....wow!!!" str2 = "exam"; print (str1.index(str2)) print (str1.index(str2, 5)) print (str1.index(str2, 10)) 以上实例输出结果如下(未发现的会出现异常信息): 7 7 Traceback (most recent call last): File "test.py", line 8, in <module> print (str1.index(str2, 10)) ValueError: substring not found
Python3 字符串格式化
字符串的格式化方法分为两种,分别为占位符(%)和format方式。占位符方式在Python2.x中用的比较广泛,随着Python3.x的使用越来越广,format方式使用的更加广泛。
一 占位符(%)
%d
实例(Python3.0+):
age = 29 print("my age is %d" %age) #my age is 29
%s
实例(Python3.0+):
name = "makes" print("my name is %s" %name) #my name is makes
%f
实例(Python3.0+):
print("%6.3f" % 2.3) #2.300 print("%f" %2.3) #2.300000
二 format方法
位置映射
实例(Python3.0+):
print("{}:{}".format('192.168.0.100',8888)) #192.168.0.100:8888
关键字映射
实例(Python3.0+):
print("{server}{1}:{0}".format(8888,'192.168.1.100',server='Web Server Info :')) #Web Server Info :192.168.1.100:8888
元素访问
实例(Python3.0+):
print("{0[0]}.{0[1]}".format(('baidu','com'))) #baidu.com
填充对齐
- ^、<、>分别是居中、左对齐、右对齐
实例1(Python3.0+):
print("{0}*{1}={2:0>2}".format(3,2,2*3)) #3*2=06 print("{:*^30}".format('centered')) #***********centered***********
实例2(Python3.0+):九九乘法表
for i in range(1,10): a = 1 while a <= i: print("{0}*{1}={2:0>2}".format(a,i,a*i),end="\t") a +=1 print() """ 1*1=01 1*2=02 2*2=04 1*3=03 2*3=06 3*3=09 1*4=04 2*4=08 3*4=12 4*4=16 1*5=05 2*5=10 3*5=15 4*5=20 5*5=25 1*6=06 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=07 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=08 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=09 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 """
精度设置
实例(Python3.0+):
print("{:.3f}".format(2.1415)) #2.142 print("{:.10f}".format(3.1415)) #3.1415000000