Python中如何用for循环生成含200个'flat'的数组?代码异常求助
生成包含200个"flat"字符串的数组的正确写法
你的代码逻辑完全错误,g = [["flat"] in range(200)]实际上是在做判断列表["flat"]是否存在于range(200)的元素集合中——range(200)生成的是0到199的整数,显然找不到["flat"],所以返回False,最终得到的是[False],和预期不符。
以下是几种正确的实现方式:
列表推导式(推荐,最符合Python风格):
g = ["flat" for _ in range(200)]这里的
_是占位符变量,因为我们不需要用到循环的索引值,仅需要循环200次生成目标字符串。列表乘法(最简洁):
g = ["flat"] * 200列表乘法会将原列表的元素重复指定次数生成新列表。由于字符串是不可变对象,这种方式不存在引用共享的问题,完全适用。
普通for循环(适合理解过程):
g = [] for _ in range(200): g.append("flat")先初始化空列表,循环200次,每次将"flat"追加到列表末尾。
内容的提问来源于stack exchange,提问作者Deacon Griffiths
相关产品推荐
相关产品推荐

