函数中的字符串格式

2024-06-07 07:37:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在探索函数中的字符串格式,假设我们有一个简单而难看的函数:

def my_string(z,a,b): 
    return '%d' '%s' '%s' % (z, a, b)

z = 1
x = ['monkey', 'monkey2', 'monkey3']
y = ['banana', 'banana2', 'banana3']

for item in x and y:
    print my_string(z, x, y)

我希望这张照片能打印出来:

1 monkey banana
1 monkey2 banana2
1 monkey3 banana3

但它正在回归:

1['monkey', 'monkey2', 'monkey3']['banana', 'banana2', 'banana3']
1['monkey', 'monkey2', 'monkey3']['banana', 'banana2', 'banana3']

我实在搞不懂为什么回报是这样的,而不是我所期望的那样,print x[0]确实会打印出x的第一项,那就是monkey。我哪里想错了?你知道吗


Tags: 函数字符串forstringreturnmydef格式
1条回答
网友
1楼 · 发布于 2024-06-07 07:37:36

它不起作用,因为每个循环都要打印xy,这是您的列表,而不是列表中的项目。请尝试以下代码:

def my_string(z,a,b): 
    return '%d ' '%s ' '%s' % (z, a, b)

z = 1
x = ['monkey', 'monkey2', 'monkey3']
y = ['banana', 'banana2', 'banana3']

for item1,item2 in zip(x, y):
    print my_string(z, item1, item2)

zip允许您通过返回元组来同时迭代两个列表。请参阅here以获取有关此的更多信息。你知道吗

相关问题 更多 >

    热门问题