,使用切片运算符 s[i:j]。 它返回字符串 s 中从索引 i (包括i)到 j (不包括 j)之间的子串。若 i 被省略,python就认为 i=0,若 j 被省略,python就认为 j=len(s)-1:
1 c = a[0:5] # c = "Hello"
2 d = a[6:] # d = "World"
3 e = a[3:8] # e = "lo Wo"
可以用加(+)运算符来连结字符串:
g = a + " This is a test"
通过使用str()函数,repr()函数或向后的引号(`)可以将其他类型的数据转换为字符串:
1 s = "The value of x is " + str(x)
2 s = "The value of y is " + repr(y)
3 s = "The value of y is " + `y`
repr()函数用来取得对象的规范字符串表示,向后的引号(`)是repr()函数的快捷版。
在大多情况下str()和repr()函数会返回同一个结果,但是它们之间有很微妙的差别,后边的章节对此将有详细描述。
列表和元组(Lists & Tuples)
就如同字符串是字符的序列,列表和元组则是任意对象的序列。象下面这样就可以创建一个列表:
names = [ "Dave", "Mark", "Ann", "Phil" ]
列表和元组都是以整数0来开始索引的序列,你可以用索引操作符来读取或者修改列表中特定元素的值:
a = names[2] # Returns the third item of the list, "Ann"
names[0] = "Jeff" # Changes the first item to "Jeff"
用len()函数得到列表的长度:
print len(names) # prints 4
append()方法可以把一个新元素插入列表的末尾:
names.append("Kate")
aList.insert(index,aMember)方法可以把新元素 aMember 插入到列表 aList[index] 元素之前:
names.insert(2, "Sydney")
用切片操作符可以取出一个子列表或者对子列表重新赋值:
b = names[0:2] # Returns [ "Jeff", "Mark" ]
c = names[2:] # Returns [ "Sydney", "Ann", "Phil", "Kate" ]
names[1] = 'Jeff' # Replace the 2nd item in names with "Jeff"
names[0:2] = ['Dave','Mark','Jeff'] # 用右边的 list 替换 names 列表中的前两个元素加(+)运算符可以连结列表:
a = [1,2,3] + [4,5] # Result is [1,2,3,4,5]
列表元素可以是任意的 Python 对象,当然也包括列表:
a = [1,"Dave",3.14, ["Mark", 7, 9, [100,101]], 10]
子列表的元素用下面的方式调用:
a[1] # Returns "Dave"
a[3][2] # Returns 9
a[3][3][1] # Returns 101Listing 1.2中代码从一个文件中读取一系列数字,然后输出其中的最大值和最小值。 通过这个示例我们可以了解到列表的一些高级特性:
Listing 1.2 列表的高级特性
1 import sys # Load the sys module (导入sys模块)
2 f = open(sys.argv[1]) # Filename on the command line (从命令行读取文件名)
3 svalues = f.readlines() # Read all lines into a list (读出所有行到一个列表)
4 f.close()
5
6 # Convert all of the input values