python入门基础(5)--数值列表、切片及元组

列表也非常适合存储一组数字,尤其是大数据处理,处理的几乎都是由数字(如气温、距离、人口数量、经济等)组成的集合。

Python提供很多工具,在数据可视化中,可高效地处理数字列表。

一、数值列表  

 range() 让你能够轻松地生成一系列的数字

for value in range(1,6):
    print(value)
# 显示结果为1,2,3,4,5 

注意:函数 range(1:6)让Python从指定的第一个值开始数,并到达第二个值后停止,但不包含第二个值(这里为6)要打印数字1~10,需要使用 range(1,11) ,在使用range() 时,如果输出不符合预期,可尝试将指定的值加1或减1。
numbers = list(range(1,6))     # 要创建数字列表,可使用函数list()可将range()的结果直接转换为列表
print(numbers)

even_numbers = list(range(2,11,2))      #使用函数range(2,11,2)时,表从2开始数,然后不断地加2,直到达到或超过终值(11)
print(even_numbers)

squares = []                             #定义一个空的squares列表
cube_squares = []                   #定义一个空的cube_squares列表
for value in range(1,11):          #从1开始,到11结束。注意value只能小于11,即10
    square = value**2                #    **表示乘方 **2,表示平方
    cube_square = value**3      #     **3,表示立方
    squares.append(square)    #方法append()表示列表尾增加元素。
    cube_squares.append(cube_square)
print(squares)                        #循环结束后,打印出range(1,11)中1-10的平方
print(cube_squares)              #打印出range(1,11)中1-10的立方  

编写三四行代码来生成列表有点繁复时,可考虑创建列表解析列表解析将for循环和创建新元素的代码合并成一行,编写一行代码就能生成这样的列表

new_squares = [value**2 for value in range(1,11)]
print(new_squares)

二、对数字列表执行简单的统计计算,先了解几个专门用于处理数字列表的Python函数。

print(min(squares))        #打印数列squares中最小值
print(max(squares))       #打印数列squares中最大值
print(sum(squares))  #打印数列squares中总和

三、切片    

所谓切片,也即列表的一部分,Python称之为切片,即可指定要使用的第一个元素和最后一个元素间的任意索引。

names=['xiaozhan','caiyilin','huangxiaoyun','zhoushen','DAOlang','huangxiaoming']
print(names[0:3])     #提取列表第1个元素到第2个元素,注意小于第2个数字3,截止索引指定为2
print(names[1:4])     #提取列表第2个元素到第3个元素,注意小于第2个数字4,截止索引指定为3
print(names[2:])       #提取列表第3个元素到末尾的所有元素(注意第1个为0),可将起始索引指定为2 ,并省略终止索引
print(names[-3:])      #-3表示从列表倒数第3个元素到末尾的所有元素
#遍历切片 遍历列表的部分元素,可在for循环中使用切片。在下面的示例中,我们遍历前三名人员,并打印他们的名字
print("Here are the first three names on my name list:")
for name in names[:3]:  #提取列表第1个元素到第2个元素,注意小于第2个数字3,截止索引指定为2
    print(name.title())
new_names = names[:]  # names[:]中省略数字,表示全部
print("The used names list are:")
print(names)    #打印原名单
print("\nThe new names list are:") 
print(new_names)       #打印复制的新名单

 四、元组

列表适合存储在程序运行期间可能变化的数据集,列表中的值是可以修改的,使用方括号来标识,如上述的 names=['xiaozhan','caiyilin','zhoushen','DAOlang','huangxiaoming']
元组也是一种列表变量,运行过程中不可修改其中的任一元素,但可整体重新赋值,使用圆括号来标识,如first_names=('bush','lucy','jack')

names=['xiaozhan','caiyilin','zhoushen','DAOlang','huangxiaoming']
first_names=('bush','lucy','jack')
for first_name in first_names: #遍历元组中的所有值
    print(first_name)
print('\n') #间隔行
#修改元组变量
first_names=('zhao','qian','sun','li')   #重新对first_names进行赋值
for first_name in first_names: #遍历元组中的所有值
    print(first_name)
# 测试()和[]能否修改元组中某个元素
first_names(1)='chen'  #对元组first_names第2个位置修改为chen,程序不会正常运行
first_names[0]='chen' #对元组first_names第1个位置修改为chen,程序不会正常运行
如下图运行结果:

 

posted @ 2022-04-10 21:12  PursuitingPeak  阅读(507)  评论(0编辑  收藏  举报