Python学习十四:访问列表元素、遍历列表

一、访问列表元素

在python中,如果想将内容输出,可以使用print()函数。例如,我们要打印下面的列表:

untitle = ['python',28,"我开心,我快乐",["开心","快乐"]]
print(untitle)

结果:

['python', 28, '我开心,我快乐', ['开心', '快乐']]

我们可以看出,输出列表时,是包括左右两侧的括号。如果不想输出全部的元素,那么我们就可以通过列表的索引获取指定元素。例如,我们要获取列表untitle中索引的第二个元素,可以使用以下代码:

untitle = ['python',28,"我开心,我快乐",["开心","快乐"]]
print(untitle[2])

结果:

我开心,我快乐

从上面的结果我们可以看出,在输出单个列表元素时,不包括中括号,如果是字符串,还不包括左右引号。

输出每日一贴,在该文件中导入日期时间类,然后定义一个列表(保存七条励志文字作为每日一贴的内容),再获取当前日期,最后将当前日期作为列表的索引,输出元素内容:

import datetime
mot = ["1",
       "2",
       "3",
       "4",
       "5",
       "6",
       "7"]
day = datetime.datetime.now().weekday()    #获取当前星期
print(mot[day])                            #输出每日一贴

结果:

3 #今天是2019/8/14

上面代码中,day = datetime.datetime.now().weekday() 方法用于获取当前日期,而weekday()方法则是从时间对象中获取星期,其值为0~6,0代表星期一,1代表星期二,以此类推,6代表星期日。

二、遍历列表

遍历列表中的所有元素是常用的一种操作,在遍历过程中可以完成查询、处理等功能。

1.使用for循环实现

直接使用for循环遍历列表,只能输出元素的值,语法格式如下

for item in listname:
    #输出item

其中,item用于保存获取到元素的值,要输出元素内容时,直接输出该变量就可以了即可;listname为列表名称。

例如,定义一个保存古诗的列表,然后通过for循环遍历该列表,并输出各个诗句,代码如下:

print(" ","静夜思")
verse = ["床前明月光","疑是地上霜","举头望明月","低头思故乡"]
for item in verse:
    print(item)

结果:

  静夜思
床前明月光
疑是地上霜
举头望明月
低头思故乡

2.使用for循环和enumerate()函数实现

使用for循环和enumerate()函数可以实现同时输出索引值和元素内容,语法格式如下:

for index,item in enumerate(listname):
    #输出index和item

参数说明:

  • index:用于保存元素索引;
  • item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可;
  • listname:列表名称。

例如,使用for循环和enumerate()函数遍历列表,输出索引和诗句,代码如下:

print(" "*2,"静夜思")
verse = ["床前明月光","疑是地上霜","举头望明月","低头思故乡"]
for index,item in enumerate(verse):
    print(index,item)

结果:

   静夜思
0 床前明月光
1 疑是地上霜
2 举头望明月
3 低头思故乡

如果实现两句一行输出各个诗句,判断是否为偶数,偶数则不换行输出,代码如下:

print("        长歌行")
verse = ["青青园中葵","朝露待日晞","阳春布德泽","万物生光辉","常恐秋节至","焜黄华叶衰",
         "百川东到海","何时复西归","少壮不努力","老大徒伤悲"]
for index,item in enumerate(verse):
    if index%2 == 0:                       # 判断是否为偶数,为偶数时不换行
        print(item+",", end='')
    else:
        print(item+"。")                   # 换行输出

结果:

       长歌行
青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。
常恐秋节至,焜黄华叶衰。
百川东到海,何时复西归。
少壮不努力,老大徒伤悲。

在上面的代码中,在print()函数中使用“,end=”表示不换行输出,即下一条print()函数的输出内容会和这个内容在同一行输出。

你可能感兴趣的:(Python)