python用什么方法可以循环历遍这三个列表?图2是要实现的效果。
u1 = ["稳健的", "赢,赢得", "携带,扛", "如此", "如此匆忙", "愚蠢的", "野兔",
"意思是", "龟", "骄傲的", "不小心的", "悲伤的", "耐心的", "更努力的"]
u2 = ["另一个", "碰撞", "到;到上", "地面", "死", "捡起", "容量的",
"他自己", "从那时起", "停止", "整天", "出现", "努力吧, 加油"]
u3 = ["困难的", "青蛙", "袋鼠", "轮回", "海洋", "海星", "非洲", "老虎",
"亚洲", "被称为", "狮子", "熊猫", "象", "长颈鹿", "脖子", "树叶"]
all = locals() # locals() 函数会以字典类型返回当前位置的全部局部变量。
need_visited_list = ['u1', 'u2', 'u3'] # 需要遍历数组的变量名
for name in need_visited_list:
# 得到需要遍历数组的变量名
print("---------%s------" % name)
for item in all[name]: # 根据变量名找到对应的变量,进行遍历
print("%s\n*********" % item)
print() # s输出一个空行
for x in chain(u1,u2,u3):
print(x)
for k,v,p in zip(u1,u2,u3):
print(k,v,p)
zip函数可以遍历,但是你的三个列表要一样长
```python
a=[1,2,3,4,5]
b=[7,8,9,10,11]
c=['a','b','c','d']
#变成一个列表开始循环
x=a[:]+b[:]+c[:]
#列表可以相加
# for i in x:
# print(i)
# for i in iter(a+b+c):
# print(i)
# def forloop(*args):
# for i in args:
# yield from i
# for i in forloop(a,b,c):
# print(i)
```
题主用zip即可:如下
for u_1,u_2,u_3 in zip(u1, u2,u3):
print(u_1,u_2,u_3)
把3个列表按最长的,都补充到一样长,补0即可,然后zip循环,循环完成把你的结果中的0匹配删掉。