列表List

列表是Python里最为常见、常使用的一种集合类,Python的列表List所使用的特殊集合符号为方括号,用逗号(,)间隔每个元素(元素类型可以不同)。列表是有序且可修改的集合类型。

列表有几个基本特征,第一是用方括号括起来、用逗号间隔;第二是列表里的元素类型可以相同或不同;第三列表可变可修改,长度可变内容可变。

创建或声明一个列表

(1)可以依据列表的定义用方括号括起来、用逗号间隔的形式创建,例如下边的a和b这两个列表。

a = [1, 2, 3]
print a
b = [12, 13.5, 'h']
print b

 

程序执行结果如下:

[1, 2, 3]
[12, 13.5, 'h']

 

从程序的执行结果可以得到验证列表内的各个元素的类型可以不相同。

(2)也可以通过list()函数将某些数据类型转化为列表。

s = "hello"
a = list(s)
print a

 

程序执行结果如下:

['h', 'e', 'l', 'l', 'o']
 

这个列表里的每个元素都是字符。

列表是有序的,每个元素都有一个位置坐标用index表示,在Python可以通过index访问列表的某位置上的数据值,当然也可修改该位置上的数据值。

(1) 通过index访问列表某元素

访问某位置数据的语法格式: 列表名[index]

假设列表的元素个数(即列表的长度)为n,那么列表各个元素的位置index从左向右(正向)依次为0、1、2....、n-1。从右向左(负方向)依次为-1、-2、... -n。

下面以基于“python”字符串构建出的列表为例

s = "python"
print s
a = list(s)
print a

 

程序的执行结果为:

python
['p', 'y', 't', 'h', 'o', 'n']

 

s为字符串"python",而a为列表。a里的各个元素的index位置信息如下图所示。

对于列表a里的元素't'的正向坐标为2,负向坐标为-4。

s = "python"
print s
a = list(s)
print a
print a[2], a[-4]

 

程序的执行结果如下所示:

python
['p', 'y', 't', 'h', 'o', 'n']
t t

 

修改某位置的数据的语法格式: 列表名[index] = 新值
 

举例:将字符'p'改为大写的'P'。

s = "python"
a = list(s)
print a[0],a[1]
a[0] = 'P'
print a[0],a[1]

 

程序的执行结果

python
['p', 'y', 't', 'h', 'o', 'n']
t t
p y
P y

 

由此可见,可以通过index访问或修改列表的某位置上的元素值。

(2) 遍历列表的各个元素值

如果想遍历整个列表,这里需要借助于循环体,可使用while或for循环体,这里用while

while循环体基本结构

循环体条件的变量初始化
while 条件:
    语句1
    语句2
    ....
    循环体变量的修正
else:
   语句a
   ....

 

举例:通过while循环体结构打印1~100。

#coding:utf-8

# while条件表达式涉及的变量初始化
i = 1
# i <= 100为print i和 i = i + 1重复执行的条件
while i <= 100: 
    #while里可重复执行的语句
    print i     
    #修正循环体变量i的值,使得i <= 100最终变为Fasle而终止while循环
    i = i + 1     

 

在回顾了while的基本使用以后,可以利用while和列表的index来遍历列表的各个元素值了。

s = "python"
a = list(s)
index = 0
while index < len(a):
    print index, a[index]
    index = index + 1

 

程序的执行结果:

0 p
1 y
2 t
3 h
4 o
5 n

 

这里使用了len函数,是Python内建(自带)函数,可以测集合数据类型的长度(个数)值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hamilton_Huan

原创不易,结合业务原创更不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值