python - Python(DataQuest):对在循环外部和内部声明列表感到困惑?
问题描述
Python 新手并通过 DataQuest 学习。我正在学习一些关于创建列表列表的知识(复数是列表列表还是列表列表?:P)。好吧,对于这个特定的部分,这是正确的代码:
numerical_list = [];
for line in nested_list:
name = line[0]
count= float(line[1])
new_list = [name, count]
numerical_list.append(new_list)
print(numerical_list[0:5]);
他们给了你一些指导,包括在开始循环之前创建空的 numeric_list,但我有点困惑为什么我需要声明那个空列表,而在循环的主体中,我能够创建
new_list = [name, count]
不用对外声明。我想我明白了,但我想确定一下。
我的理解是,因为 numeric_list 是空的,所以需要在循环外声明它才能存在,然后,就行了
numerical_list.append(new_list)
我正在为它注入生命。同时,因为我用参数声明 new_list,它已经有了“生命”(我确信有一个更好、更专业的词,但我不知道)并且不需要单独建立。那是对的吗?还是我在这里完全疯了,一边走一边编造逻辑?
换句话说,这是否正确:不能在循环内创建新的空列表,但可以创建带有参数的新列表。
解决方案
不,您也可以在循环内创建空列表。例如,您可以将循环内的列表创建重写为
new_list = []
new_list.append(name)
new_list.append(count)
但是,循环是用来填充的numerical_list
,因此需要在循环之前创建它。如果您在循环中创建它,它将在每次迭代中被一个空列表覆盖。
推荐阅读
- html - 如何将导航栏移动到 img 上?
- webpack - 如何处理 twilio-chat 和 webpack
- spring-boot - org/springframework/boot/bind/RelaxedPropertyResolver 未找到
- php - 我在 cpanel 上部署的应用程序出现 Laravel 文件权限错误
- java - 如何从.class 向@ServerEndpoint 发送消息
- html - 如何让我的网站在放大和缩小时不失真?
- android - 连续操作的 RxJava 链
- sql - 如何解决“同名游标已存在”错误
- vue.js - Vue.Js比较字符串失败
- excel - 从工作簿复制多个工作表