字符串不像整数、浮点数和布尔型。字符串是一个 序列(sequence) ,这就意味着 它是其他值的一个有序的集合。
>>> fruit = 'banana'
>>> letter = fruit[1]
'a'
# len是一个内建函数,其返回字符串中的字符数量
>>> fruit = 'banana'
>>> len(fruit)
6
# 遍历(traversal)
index = 0
while index < len(fruit):
letter = fruit[index]
print(letter)
index = index + 1
for letter in fruit:
print(letter)
# 切片(slice)
>>> s = 'Monty Python'
>>> s[0:5]
'Monty'
>>> s[6:12]
'Python'
>>> fruit = 'banana'
>>> fruit[:3]
'ban'
>>> fruit[3:]
'ana'
# 如果第一个索引大于或等于第二个,结果是空字符串(empty string)
>>> fruit = 'banana'
>>> fruit[3:3]
''
# 字符串是不可变的
>>> greeting = 'Hello, world!'
>>> greeting[0] = 'J'
TypeError: 'str' object does not support item assignment
# upper 方法接受一个字符串,并返回一个都是大写字母的新字符串
>>> new_word = word.upper()
>>> new_word
'BANANA'
# find 的字符串方法
>>> word = 'banana'
>>> index = word.find('a')
>>> index
1
# 还可以查找子字符串,而不仅仅是字符
>>> word.find('na')
2
# 还可以接受第二个实参,即从何处开始的索引
>>> word.find('na', 3)
4
# in运算符
单词 in 是一个布尔运算符,接受两个字符串。如果第一个作为子串出现在第二个中,则返回True。
>>> 'a' in 'banana'
True
>>> 'seed' in 'banana'
False
# 字符串比较
if word == 'banana':
print('All right, bananas.')
# 其它的关系运算符对于按字母序放置单词也很有用。
# Python处理大写和小写字母的方式和人不同。所有的大写字母出现在所有小写字母之前。
if word < 'banana':
print('Your word, ' + word + ', comes before banana.')
elif word > 'banana':
print('Your word, ' + word + ', comes after banana.')
else:
print('All right, bananas.')
fin = open('words.txt')
for line in fin:
word = line.strip() # 空格删除
print(word)
网友评论