python基础篇(二)

  • 切片 指定索引值,不指定索引的开始或结束,Python将从列表开头开始提取或至末尾才结束,负数索引返回离列表末尾相应距离的元素
name = ['a','b','c','d','e']
print (name[1:3])
输出
['b','c']
print (name[-2:])
输出
['d','e']
  • 复制列表
    原理:即创建一个包含整个列表的切片,
    注意:不能简单的直接赋值,例如"name_new=name"这种是不正确的,实际上这种没有复制,而是共用
name_new = name[:]
print (name_new)
输出
 ['a','b','c','d','e']
  • 元组 与列表类似,值也是与列表一样的展示语法,元组里的 元素不能修改
    修改元组必须重新定义元组(另外一种说法是给元组变量赋值)
dimensions = (200, 50)
for dimension in dimensions:
    print(dimension)
dimensions = (400, 100)#重新定义元组,原来的元组值失效
for dimension in dimensions:
    print(dimension)
输出
200,50
400,100
  • if 语句

几个常见判断符号:
【 == 】是否等于
【!=】 是否不等于

foods = ['a','b','c','D','e']
for food in foods:
    if food.lower() == 'd': #注意这里将变量food都转换为转换为小写,此时不论输入是不区分大小写
         print ('this:'+food)
    else:
         print (food)
条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于
a=15
if a != 17:
    print ('数值合适')
b=16
if b <= 17:
    print ('数值合适')
  • and 与 or 及in 与 not in
a=15
if a>7 and a<16: # or 用法与and差不多,多条件筛选
    print ('T')
else:
    print ('F')
car = 'subaru'
print(car == 'subaru')
输出
true#输出时判断,直接输出True 或者 False
  • if - else 如果...否则...
a=17
if a>15:
    print('A')
else :
    print('B')
输出
A
  • if - elif -else 如果...否则如果...否则
    如果符合条件则执行“:”后语句,其他判断就不再执行
a=17
if a>17:#若此处还是a>15 ,则代码执行到此处时就符合条件,输出 A
    print('您的等级是 A')
elif a==17:
    print('您的等级是 C')
else :
    print('您的等级是 B')
输出
您的等级是 C
elif 可以多个重复使用,直到符合条件

使用多重时,上面的代码也可优化如下

a=18
if a>18: 
    result='A'
elif a==17:
    result='C'
elif a==18:
    result='D'
else :
    result='B'
print('您的等级是'+result)
输出
C

注意:
1、else 只要不满足任何if 或elif 中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif 代码块来代替else ,这样就可以肯定,仅当满足相应的条件时,你的代码才会执行。
2、if -elif -else 当满足条件时后面的代码就不会执行,有时候需要执行多个条件或者需要多个同时满足的条件,我们可以用连续的 if 来执行,一个if 相当于一个独立的语句

  • 字典

字典 是一系列 【键—值】对,每个键 都与一个值相关联,与键相关联的值可以是数字、字符串、列表乃至字典,字典存储的是一个对象各种信息。字典是一种动态结构,可随时在其中添加【键—值】对,修改只需重新定义某键的值。
例1:

foods ={}
foods['a'] = 'a1'
foods ['b'] = 'b2'
print (foods)
输出
{'a':'a1','b':'b2'}

例2:

foods ={}
foods['a'] = 2
foods ['b'] = 3
foods ['money']='H'
if foods['money'] == 'L':
    a1=1
elif foods['money'] == 'Y':
    a1=2
elif foods['money'] == 'H':
    a1=3
foods['a']= foods['a'] + a1
print ('You have to pay '+str(foods['a'])+' yuan')

输出
You have to pay 5 yuan

删除【键—值】:del foods['a'] #删除操作是永久操作不可恢复

  • 遍历字典
    items() 方法以列表返回可遍历的(键, 值) 元组数组 如下例1
    keys() 方法返回键 keys()可以省略,因为默认输出就是键,如下例2
    values()方法返回值 如下例3
    例1
foods ={
'a':'a1',
'b':'b1',
}     
for k,v in foods.items():
    print ('this k '+k+'this v '+v)
输出
this k a this v a1
this k b this v b1

例2、例3

foods ={
'a':'a1',
'b':'b1',
}     
for k in foods.keys():    #例2,此处的keys()可以省略,输出的值一致
    print ('this k '+k)
for v in  sorted(foods.values()):  #例3,sorted()函数,对结果进行排序
    print ('this v '+v)
输出
this k a 
this k b
this v a1 
this v b1 

遍历到某值时加以利用,如下

love = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
friends = ['phil', 'sarah']
for name in love .keys():
    print(name.title())
    if name in friends:
        print(" Hi " + name.title() +
            ", I see your favorite language is " +
            love [name].title() + "!")  
输出
Jen
Sarah
 Hi Sarah, I see your favorite language is C!
Edward
Phil
 Hi Phil, I see your favorite language is Python!

set()使集合的值独一无二,可在输出集合的适合加上。
如下

love = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for v in  sorted(set(love.values())): #去重后排序
    print (v.title())
输出
C
Python
Ruby
  • 字典的嵌套
    列表中嵌套字典,例如:
foods =[]
for food_number in range(5):
    food_1={'食物':'蔬菜','烹饪':'清蒸','盐':'少',}
    foods.append(food_1)
for food in foods[0:2]:  #对前两个字典进行修改
    if food['食物']=='蔬菜':
        food['食物']='娃娃鱼'
        food['烹饪']='红烧'
        food['盐']='多'
for food in foods:
    print (food)
print ("数量:"+str(len(foods))) #整型,统计
输出
{'食物': '娃娃鱼', '烹饪': '红烧', '盐': '多'}
{'食物': '娃娃鱼', '烹饪': '红烧', '盐': '多'}
{'食物': '蔬菜', '烹饪': '清蒸', '盐': '少'}
{'食物': '蔬菜', '烹饪': '清蒸', '盐': '少'}
{'食物': '蔬菜', '烹饪': '清蒸', '盐': '少'}
数量:5

字典中嵌套列表,例如:

Recipes={'食物名':'红烧鱼','配料':['辣椒','蒜','桂皮'],}
print("您点的食物为:"+"“"+Recipes['食物名']+"”"+"\n其的配料包括:")
for peiliao in Recipes['配料']:
    print(peiliao)
输出
您点的食物为:“红烧鱼”
其的配料包括:
辣椒
蒜
桂皮

字典中嵌套字典,例如:

users = {'15255554444':{
           '姓':'张','名':'三','评分':'75',
           },
           '18555556666':{
           '姓':'李','名':'四','评分':'87',
           },
           '13211115874':{
           '姓':'李','名':'四','评分':'95',
           },
               }    #用手机号作为账号(键),后面跟账号的信息
for username,userinfo in users.items():
    print ("\n"+userinfo['姓']+userinfo['名']+"("+username+")"+"您的评分为:"+userinfo['评分']+"。")
输出
张三(15255554444)您的评分为:75。

李四(18555556666)您的评分为:87。

李四(13211115874)您的评分为:95。

你可能感兴趣的:(python基础篇(二))