在一行上打印对象属性

时间:2017-05-04 21:55:50

标签: python formatting

我有一个名为“location”的列表,里面有两个类创建的对象:

location = [rat1,rat2]

我想在一条线上打印两只老鼠的属性,同时保持位置列表的动态。我现在有这个:

for i in range(0,len(location)):
    print((location[i].vname),sep=',')

这将遍历列表项,并为它看到的列表中的每个对象打印“vname”属性。不幸的是,这当前返回:

Young Rat
Adult Rat

如果我将sep更改为end,则打印出:

Young Rat,Adult Rat,

这几乎就像印刷品中的sep根本没有注册一样。有没有人有任何想法?此外,对于任何格式问题,这是我第一次在堆栈交换上发布。

2 个答案:

答案 0 :(得分:1)

您应该使用str.join拨打一个电话进行打印并加入各种属性。以下应该有效:

print(','.join(rat.vname for rat in location))

答案 1 :(得分:0)

尝试print ','.join(location)print ','.join(map(str, location))

更一般地说,不要在python中使用整数变量进行迭代。