Python基础语法学习(二)

1. 列表

    使用方括号来表示列表,并用逗号分隔其中元素。

name = ['zhangsan','lisi','wangwu']

    若直接使用print将列表打印,则将打印列表内部表示,包括方括号。要打印内部信息则需访问列表

print(name[0])    #输出 zhangsan

    列表的下标从0开始而不是1,可以通过列表的下标选取到列表内每一个元素的值(下标不可超过列表的长度) 

      1) 修改

name[1] = 'moxie'   #通过下标选择需要修改的元素后,直接重新为其赋值

      2) 添加

name.append('mok')   #append()在列表最后加入新添加的元素
name.insert(1,'moxie')   #insert(),第一个参数为待插入的位置,第二个参数为插入的值

  3) 删除

使用del语句进行删除

del name[0]   #del 删除选中下标的值

使用pop()进行删除,pop()可删除列表末尾的元素,并能够接着使用它。

del_name = name.pop(0)    #将name中第一个元素弹出,并将其赋值给del_name
print(name)
print(del_name)

#输出
#['lisi','wangwu']
#zhangsan

使用remove()删除元素

name.remove('zhangsan')  #删除列表中第一个与关键字相同的元素,若要删除全部则需要使用循环判断

    4) 排序

1 cars = ['bmw','audi','toyota','subaru']
2 
3 cars.sort() #sort()为按字母顺序排列
4 
5 cars.sort(reverse = true) #将sort()的参数设置为reverse=true,为按字母顺序反向排序
6 

    使用sort()进行的排序均为永久性排序,若要对列表进行暂时性排序,则使用sorted()方法

print(sortd(cars))

#输出的为cars列表的反向排列

    5) 反转

    若要倒着打印列表,则使用reverse()方法

cars.reverse()   #使用reverse()方法将列表反转
print(cars)

    6) 确定列表长度

print(len(cars))   #使用len()方法确定列表长度

    7) 列表的索引

    列表中常常需要引用最后一个元素,在索引时常常出现下表错误的问题,导致程序报错,此时可以使用-1的索引,默认指向最后一个元素,-1索引只会在列表为空

时报错。

print(cars[-1])   #此时默认输出cars列表中的最后一个元素

    8) 列表的遍历

    若要完成列表的遍历,需要使用循环。

(需注意Python中的for循环和while循环语法与Java存在不同。Python中的for循环和while循环,不使用引号进行包围,使用缩进判断是循环块内语句或是外部语句

    故在Python中需要特别注意每行的缩进,避免因缩进造成逻辑错误)

cars = ['bmw','audi','byd','toyota']

for car in cars :      #使用for循环遍历列表
    print(car)

#输出
#bmw
#audi
#byd
#toyota

    9) 数值列表

    使用range()生成数值列表,range()方法从第一个数起,到第二个数的前一个停止。

for value in range(1,5)
    print(value)         #此时将会依次输出1-4

    使用list()和range()生成数值列表

numbers = list(range(1,8))
print(numbers)

#输出列表numbers [1, 2, 3, 4, 5, 6, 7]

    range()函数还可以指定步长

numbers = list(range(2,11,2))  
print(numbers)

#numbers为10以内的偶数
#range()方法的第三个参数表示步长

    ps:在Python中,**表示乘方运算

    10) 数值列表的简单统计

numbers = list(range(2,11,2))

print(min(numbers))    #选择数值列表中最小的元素
print(max(numbers))   #选择数值列表中最大的元素
print(sum(numbers))   #计算数值列表中所有元素的和

    11) 列表切片

    处理列表的部分元素,在Python中称之为切片

name = ['zhangsan','lisi','wangwu','zhaoliu','moxie','mok']

print(name[0:2])  #输出前两个元素
print(name[2:4])  #从第三个开始 ,输出到第四个元素
print(name[:2])    #当未设置起始索引则默认从头开始
print(name[2:])    #当未设置结束索引则默认提取到最后一个
print(name[-3:])   #-3则表示提取最后三个元素,无论列表长度是否改变

    12) 复制列表

    分为深拷贝和浅拷贝

import copy

goods = ["ipad","iphone",["apple","vivo"],"imac","applewatch"]

goods2 = goods.copy()    #copy()方法为浅拷贝,当二维的列表改变后,复制后的列表同时改变
goods[2][0]="APPLE"
print(goods)
print(goods2)

goods = ["ipad","iphone",["apple","vivo"],"imac","applewatch"]
goods2 = copy.deepcopy(goods)   

#使用copy模块中的deepcopy()方法,可以进行深拷贝,当原列表中的二维元素改变后,新列表中的二维元素并不会改变

2. 元组

    元组其实跟列表差不多,也是存一组数据,只不是它一旦创建,便不能再修改,所以又叫只读列表

name = ('zhangsan','lisi','wangwu')  #元组为圆括号包围的

    元组只有两个方法,一个是count一个是index,count()用于统计在元组中某个关键字的个数,index()用于定位某关键字在元组中的位置

3. 字典

     1) 字典的定义

    字典由一系列的键值对组成,每个键都有对应的值关联。字典由花括号包围。

userInfo = {'moxie':'student',
                  'alex':'IT',               #键值间用冒号隔开
                  'mok':'teacher'}           #键值对间用逗号隔开

    2) 取值

    通过键可以取到相应的值

print(userInfo['moxie'])          #输出 student

    3) 添加键值对

userInfo['david']='student'
print(userInfo)

#输出
#{'moxie': 'student', 'alex': 'IT', 'mok': 'teacher', 'david': 'student'}

    在实际使用中,也可先定义一个空白字典,在根据实际使用情况再手动向字典中添加键值对   

studentInfo = {}

studentInfo['moxie']='18'
studentInfo['mok']='22'
print(studentInfo)

#输出
#{'moxie': '18', 'mok': '22'}

    4) 修改键值对

    修改键值对的操作与添加键值对语法相同,将方括号内待添加的键改成待修改的键,引号中的值改为待修改的值即可

    5) 删除键值对

    使用del进行删除

del studentInfo['moxie']   #使用del语句配合键进行删除

    使用pop进行删除

studentInfo.pop('moxie')     #使用pop方法进行删除

    6) 遍历字典

for k,v in studentInfo.items():
    print(k,v)                                 #方法一
for k in studentInfo:
    print(k,studentInfo[k])                    #方法二

    7) 嵌套

userInfo = {'moxie':{'age':'18','balance':'1000'},
                  'mok':{'age':'22','balance':'10'},
                  'david':{'age':'13','balance':'109'},}

    对嵌套了字典的字典,使用两层for循环对其进行遍历,以取出字典中所有元素

for k in userInfo:
    print(k)
    for j in userInfo[k]:
        print(j,userInfo[k][j])

 

你可能感兴趣的:(Python基础语法学习(二))