dragov 发表于 2021-10-11 18:06:04

使用 for 将列表分为 2部分

使用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)<=3 :
      f1.append(fast_food)
    else :
      f2.append(fast_food)
print(f1)
print( )
print(f2)

运行后,得不到结果呀 ?

wp231957 发表于 2021-10-11 18:12:09

我没测试
这样试一下
f1=oldlist[:3]
f2=oldlist
这个数值究竟是多少,自己秒秒钟就能调试出来

dragov 发表于 2021-10-11 18:14:50

wp231957 发表于 2021-10-11 18:12
我没测试
这样试一下
f1=oldlist[:3]


切片是可以的,但是题目要求使用 for 语句哈

jhq999 发表于 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
   print(f1)
   print( )
   print(f2)

15013523101 发表于 2021-10-11 18:44:00

"""
f1=f2=list( )
for i in range (len(fast_food)) :
    if len(fast_food)<=3 :
"""
1,不要链式赋值, 改为 f1=list() f2=list()
2, if i<3:

wp231957 发表于 2021-10-11 19:07:35

dragov 发表于 2021-10-11 18:14
切片是可以的,但是题目要求使用 for 语句哈

除非是考试,否则,切片不用用循环,哈哈(ω)hiahiahia

傻眼貓咪 发表于 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']

dragov 发表于 2021-10-11 20:17:47

傻眼貓咪 发表于 2021-10-11 19:26


您的这种方法也很好 !
页: [1]
查看完整版本: 使用 for 将列表分为 2部分