关于Python中的序列类型

时间:2013-10-23 09:35:20

标签: python

#!/usr/bin/python
# -*- coding: utf-8 -*-

# Marcel Iseli
# Python program to manipulate a list 
# by Marcel Iseli

# initialize the variable with a list of words

word1= raw_input()

text = ['Dies', 'ist', 'ein', 'kleiner', 'Text', 'ohne', 'Umlautzeichen', 
    ',', 'der', 'schon', 'in', 'einer', 'Liste', 'gespeichert', 'ist', '.','Er',
    'ist', 'gut', 'geeignet', ',', 'um', 'den',
    'Umgang', 'mit', 'Listen', 'zu', 'verstehen']

# for the list with the name text

for item in text:
    # print the new content of text'

    print 'Bitte enter druecken, um dem Text ein Punkt hinzuzufuegen.'  

    word1 = raw_input()
    text.append('.')
    print text

    print 'Bitte enter druecken, um die Vorkommen vom finiten Verb ist zu zaehlen'

    word1 = raw_input()
    text.count('ist')
    print text

    print 'Bitte enter druecken, um einen weiteren Satz anzufuegen'

    word1 = raw_input()
    text.append('Weils so schoen ist, fuege ich jetzt noch diesen Satz hinzu')
    print text

    print 'Bitte enter druecken, um das Wort gut zu entfernen'

    word1 = raw_input()
    text.remove('gut')  
    print text

    print 'Bitte enter druecken, um das Wort hier einzufuegen.'

    word1 = raw_input()
    text.insert(1, 'hier')
    print text

    print 'Bitte enter druecken, um das Wort dies mit dem Wort das zu ersetzen'

    word1 = raw_input()
    text[0] = 'Das'

    print text

    text.join(text)

    break

我在这里使用的最后一个函数text.join(text)不起作用。我想显示列表" text"作为常规文本。此外,当使用text.count时,我想显示结果3,但是使用" print text"我无法得到这样的结果。使用"打印文本"时,其他结果显得很好。有人可以帮我吗?

2 个答案:

答案 0 :(得分:2)

.join()str个对象的函数,而不是list个对象。

dir(str)显示您可以使用字符串执行的操作,dir(list)显示您可以使用列表执行的操作。

尝试:

' '.join(text)

这会将text的所有对象与' '

的分隔符合并

答案 1 :(得分:1)

如果要显示text.count(),则需要存储结果;计数未添加到列表中:

print text.count('ist')

ist_count = text.count('ist')
print ist_count

你不能在列表上调用.join(),而是一种字符串方法。给定一个用加入的字符串,传入一个列表。同样,需要捕获返回值:

joined = ' '.join(text)
print joined