slb*_*slb 2 python string list
我正在尝试打印以下两个列表中的每个项目:
lNames = ['John','David','Michael']
lAges = [45,14,32]
with the format: "Person 0, Name: John, Age 34".
I tried adding another list:
```py
lPersons = [0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
尝试了这个代码:
lNames = ['John','David','Michael']
lAges = [45,14,32]
lPersons = [0, 1, 2]
for a in lNames:
for b in lAges:
for c in lPersons:
print("Person: " + c + ", Name: " + a + ", Age: " + b)
Run Code Online (Sandbox Code Playgroud)
这给出了TypeError,因为我在打印时错误地将整数与字符串组合在一起。为了达到预期的结果,我缺少什么?
两个问题:
循环中的嵌套超出了for必要的范围。您不想迭代所有三个列表中元素的每个组合;相反,您有一份人员列表以及有关这些人员的信息,并且您希望一次打印一个人的信息。这只需要遍历每个列表一次。
正如错误所述,您无法连接字符串和整数。您可以改用f 字符串。
这是解决这两个问题的代码片段:
for i in range(len(lNames)):
print(f"Person: {lPersons[i]}, Name: {lNames[i]}, Age: {lAges[i]}")
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,使用zip():
for name, age, person_id in zip(lNames, lAges, lPersons):
print(f"Person: {person_id}, Name: {name}, Age: {age}")
Run Code Online (Sandbox Code Playgroud)
这些输出:
Person: 0, Name: John, Age: 45
Person: 1, Name: David, Age: 14
Person: 2, Name: Michael, Age: 32
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |