鱼C论坛

 找回密码
 立即注册
查看: 1883|回复: 7

[已解决]使用 for 将列表分为 2部分

[复制链接]
发表于 2021-10-11 18:06:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
使用for语句,将前3种快餐店与后3种快餐店分别组成2个新的列表。

fast_food=list(["McDonald’s","KFC","PizzaHut","Yoshinoya","BurgerKing","Saizeriya"])
f1=f2=list( ) 
for i in range (len(fast_food)) :
    if len(fast_food[i])<=3 :
        f1.append(fast_food[i])
    else :
        f2.append(fast_food[i])
print(f1)
print( )
print(f2)
运行后,得不到结果呀 ?
最佳答案
2021-10-11 18:44:00
"""
f1=f2=list( )
for i in range (len(fast_food)) :
    if len(fast_food[i])<=3 :
"""
1,不要链式赋值, 改为 f1=list() f2=list()
2, if i<3:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-11 18:12:09 From FishC Mobile | 显示全部楼层
我没测试
这样试一下
f1=oldlist[:3]
f2=oldlist[3:]
这个数值究竟是多少,自己秒秒钟就能调试出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-11 18:14:50 | 显示全部楼层
wp231957 发表于 2021-10-11 18:12
我没测试
这样试一下
f1=oldlist[:3]
切片是可以的,但是题目要求使用 for 语句哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 18:30:43 | 显示全部楼层
本帖最后由 jhq999 于 2021-10-11 19:15 编辑
   fast_food=list(["McDonald's","KFC","PizzaHut","Yoshinoya","BurgerKing","Saizeriya"])
   f1=list( )
   f2=list( )
   f1=fast_food[:3]
   f2=fast_food[3:]
   print(f1)
   print( )
   print(f2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 18:44:00 | 显示全部楼层    本楼为最佳答案   
"""
f1=f2=list( )
for i in range (len(fast_food)) :
    if len(fast_food[i])<=3 :
"""
1,不要链式赋值, 改为 f1=list() f2=list()
2, if i<3:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 19:07:35 From FishC Mobile | 显示全部楼层
dragov 发表于 2021-10-11 18:14
切片是可以的,但是题目要求使用 for 语句哈

除非是考试,否则,切片不用用循环,哈哈(ω)hiahiahia
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-11 19:26:21 | 显示全部楼层
fastFood = ["McDonald’s", "KFC", "PizzaHut", "Yoshinoya", "BurgerKing", "Saizeriya"]

arr1 = list() # 这里不要写成 arr1 = arr2 = list(),否则 arr1 和 arr2 指向相同对象地址,分开写
arr2 = list()

for n, i in enumerate(fastFood):
    if n < 3:
        arr1.append(i)
    else:
        arr2.append(i)

print(arr1)
print(arr2)
['McDonald’s', 'KFC', 'PizzaHut']
['Yoshinoya', 'BurgerKing', 'Saizeriya']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-11 20:17:47 | 显示全部楼层

您的这种方法也很好 !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 02:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表