关于列表append方法和生成式的疑惑
用户输入N个字符扇,将这些字符串收集到列表中,然后去除其中重复的宇符串后输出列表。length = int(input("请输入列表的长度:"))
my_list = []
for i in range(length):
my_list.append(input('请输入字符串:'))
print(my_list)
new_list = []
print(new_list)
疑惑:为什么可以这么写,
为什么不这么写new_list.append(i) for i in my_list if not i in new_list],
为什么不这么写new_list = ,
很懵逼,求解惑!
没看懂你的疑惑,
new_list = []
先写这个应该是因为后面用到了append
所以他首先得是个列表呀 yuedong 发表于 2021-3-13 00:20
没看懂你的疑惑,
new_list = []
先写这个应该是因为后面用到了append
我的问题是new_list = []后面的语句为什么可以这么写成问,为什么会有方括号,而不是在问这个语句前为什么要定义new_list = []。 我爱吃爆米花 发表于 2021-3-13 00:29
我的问题是new_list = []后面的语句为什么可以这么写成问
我也是在这两天才看到的,这个东西叫做列表推导式,你可以搜一下看看,元组也有类似的方法 yuedong 发表于 2021-3-13 00:56
我也是在这两天才看到的,这个东西叫做列表推导式,你可以搜一下看看,元组也有类似的方法
我刚才又回去翻了下书籍,for表达式的语法格式:[表达式 for 循环计数器 in 可迭代对象],后面还可以加if条件分支。
比如说:mylist =
也是可以写成这种形式mylist = [];
我爱吃爆米花 发表于 2021-3-13 01:03
我刚才又回去翻了下书籍,for表达式的语法格式:[表达式 for 循环计数器 in 可迭代对象],后面还可以加if ...
嗯,我看的那本书上没写后面的if,
不过就叫列表推导式
关于 “为什么会有方括号”,你可以这样理解:
方括号,代表的是“列表”,列表是 iterable(可迭代的)
于是,可以用“列表推导式”。
它说白了,其实就是 for循环遍历 “可迭代对象”内的元素,如遍历列表元素。
简单点,记得python有这样一种语法即可(其实很强大、很方便) 新人同问
页:
[1]