Python для цикла добавления запятых между элементами - PullRequest
1 голос
/ 21 января 2011

Я хочу просмотреть список, добавив запятые между элементами.Должен быть более простой способ написать это, чтобы он просто вытаскивал все теги сразу, а не перебирал снова и снова.

for top_item in items.get_top_tags():
    tag1 = top_item.item.get_name(0)
for top_item in items.get_top_tags(1):
    tag2 = top_item.item.get_name()
for top_item in items.get_top_tags(2):
    tag3 = top_item.item.get_name()
for top_item in items.get_top_tags(3):
    tag4 = top_item.item.get_name()
for top_item in items.get_top_tags(4):
    tag5 = top_item.item.get_name()

tags = (tag1 + ',' + tag2 + ',' + tag3 + ',' + tag4 + ',' + tag5

)

Ответы [ 3 ]

2 голосов
/ 21 января 2011

Кажется, что items.get_top_tags() возвращает список с одним элементом? Если это так, попробуйте это:

# 'n' is the number of tags you'll be returning, I suppose
', '.join(items.get_top_tags(i)[0].get_name() for i in range(n))
1 голос
/ 21 января 2011

Я не уверен, что именно вы пытаетесь сделать в первом бите вашего примера, но я подозреваю, что вы могли бы заменить его на что-то вроде:

tag_items = items.get_top_tags(4)

Это, вероятно, даст вам некоторую коллекцию (например, список или кортеж) элементов тегов.

Затем вы можете сделать понимание списка , чтобы получить список только имен ваших тегов:

tag_names = [tag.item.get_name() for tag in tag_items]

Наконец, вы можете превратить ваш список имен в строку, разделенную запятыми, используя метод str.join . Ниже приведен пример его использования:

tags = ','.join([tag1, tag2, tag3, tag4, tag5)
0 голосов
/ 21 января 2011

попробуйте что-то вроде ','.join(yourList)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...