设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 22450|回复: 4
打印 上一主题 下一主题

【Python 第25课】 初探list

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2014-4-24 18:31:40 |显示全部楼层 |倒序浏览
昨天课程里的例子有点没说清楚,有同学表示写在程序里发生了错误。因为我当时写这个代码片段时,心里假想着这是在一个函数的内部,所以用了return语句。如果你没有把它放在函数里,那return的话就会出错,你可以换成print。

今天要说一个新概念--list,中文可以翻译成列表,是用来处理一组有序项目的数据结构。想象一下你的购物清单、待办工作、手机通讯录等等,它们都可以看作是一个列表。说它是新概念也不算确切,因为我们之前已经用过它,就在这个语句里:

for i in range(1, 10):
   #此处略过数行代码

看出来list在哪里了吗?你试一下:

print range(1,10)

得到的结果是:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

这就是一个list。它由range产生。把上面那个for循环语句写成:

list_test = range(1, 10)
for i in list_test:

效果是一样的。

于是可以看出,for循环做的事情其实就是遍历一个列表中的每一项,每次循环都把当前项赋值给一个变量(这里是i),直到列表结束。

我们也可以定义自己的列表,格式就是用中括号包围、逗号隔开的一组数值:

list_test = [1, 1, 2, 3, 5, 8, 13]

可以用print输出这个列表:

print list_test

同样也可以用for...in遍历这个列表,依次输出了列表中的每一项:

for i in list_test:
   print i,

列表中的元素也可以是别的类型,比如:

list_test = ['meat', 'egg', 'fish', 'milk']

甚至是不同类型的混合:

list_test = [365, 'everyday', 0.618, True]

list_test身为一个列表,有一些特有的功能,这个我们下回再说。

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2014-7-27 16:04:21 |显示全部楼层
洛克 发表于 2014-7-25 23:03
没人看到这里了吗?
同样也可以用for...in遍历这个列表,依次输出了列表中的每一项:

对哦,谢指出!笔误笔误
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2015-6-27 00:28:57 |显示全部楼层
蒲公英Amyli 发表于 2015-6-25 16:09
for i in range(1,10):
    print range(1,10)
输出的是

应该是 print i
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2016-1-27 11:35:55 |显示全部楼层
jj19941031 发表于 2016-1-26 21:45
这个l显示出来简直分辨不出来,一直以为是1,好震惊,放到度娘里搜才看出来是l... ...

my fault...
所以后来课程里我改成 li 了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2016-12-4 13:01:55 |显示全部楼层
feng 发表于 2016-12-4 08:55
关于list的长度:
为什么出错呢?
编译环境是:  .Spyder
请帖完整代码

你大概在别的地方定义了个叫 len 的变量
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-3 16:07 , Processed in 0.027554 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部