列表与元组
列表用大括号[]表示,元组用圆括号()表示。
列表可以修改,字符串与元组不可修改。
元组的分片还是元组,列表的分片还是列表。
1.列表方法:
1
2
3
4
5
6
7
|
name = [ "zhang3" , "li4" , "wang5" ] name.append( "gou6" ) #添加项 name.remove( "gou6" ) #移除第一个匹配项,也可用del name[3]来移除 name.insert( 3 , "gou6" ) #插入项 name.index( "gou6" ) #找出第一个匹配项的位置 name.extend([ "gou6" , "xuan7" ]) #扩展 name.pop( 0 ) #返回列表的第一项值并从列表中删除之 |
2.列表函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> a = list ( "hi guys" ) #把字符串转换为列表 >>> print a [ 'h' , 'i' , ' ' , 'g' , 'u' , 'y' , 's' ] >>> ''.join(a) #把列表还原成字符串 'hi guys' >>> max (a) #取得列表的最大元素 'y' >>> len (a) #取得列表长度 7 >>> min (a) #取得最小元素 ' ' >>> tuple (a) #将列表转换为元组 ( 'h' , 'i' , ' ' , 'g' , 'u' , 'y' , 's' ) >>> sorted (a) #将列表元素排序 [ ' ' , 'g' , 'h' , 'i' , 's' , 'u' , 'y' ] |
3.列表遍历:
A,使用for语句遍历
1
2
|
for each_item in name: print (each_item) |
B,使用while语句遍历
1
2
3
4
|
i = 0 while i < len (name): print (name[i]) i + = 1 |
4.成员资格1:
1
2
3
4
5
6
7
8
|
>>> sub = "hello, you are a bear" >>> "bear" in sub True >>> "y" in sub True >>> raw_input ( "what's your name?" ) in sub what's your name?bear True |
5.成员资格2:
1
2
3
4
5
6
7
8
|
database = [ [ "zhang3" , "0111" ], [ "li4" , "0112" ], [ "wang5" , "0113" ] ] username = raw_input ( "what's your user name?" ) id = raw_input ( "what's your id?" ) if [username, id ] in database: print "access granted" |
6.找出10以内的整数
1
|
s = [x for x in range ( 0 , 10 ) if x % 2 = = 0 ] |
7.生成九九乘法表
1
|
s = [(x, y, x * y) for x in range ( 1 , 10 ) for y in range ( 1 , 10 ) if x> = y] |
字符串
1.获取字符串
1
2
|
name = raw_input ( "what's your name?" ) print "Hello," + name + ".welcome to us" |
注意:Pyhton3.x版本取消了raw_input,统一使用input
输出值:
1
2
3
|
print name + repr (x) #str用于把值转换为合理的字符串,repr创建一个字符串,返回值的字符串形式 #str是一种类型(和int一样),repr是函数 |
2.换行符用\n表示
原始字符串,以字符串前加一个r即可,如
1
2
|
print r "c:\nowindows\no" path = "c:\nowindows\no" ; print repr (path) |
3.Unicode字符串
1
|
print u "redhat" |
注意:Pyhton3.x版本所有字符串都是unicode字符串
定义字符串时,双引号和单引号都是可以用的,只不过用单引号的时候可以在字符串里面使用双引号
布尔值:
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> bool ( 'i love you' ) True >>> bool ( 42 ) True >>> bool ( 1 ) True >>> bool ( '0' ) True >>> bool ( 0 ) False >>> bool ('') False |
4.字符串方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
>>> tag = "<a href=http://www.baidu.com>baidu indexpage</a>" >>> print tag[ 8 : 28 ] #字符串分片 http: / / www.baidu.com >>> print tag[ 29 : - 4 ] #字符串分片 baidu indexpage >>> tag.replace( "www.baidu.com" , "home.sina.com" ) #字符串替换 '<a href=http://home.sina.com>baidu indexpage</a>' >>> dirs = [" "," usr "," bin "," env"] >>> "/" .join(dirs) #将列表拼接成字符串 '/usr/bin/env' >>> print ( "C:" + "\\" .join(dirs)) C:\usr\ bin \env >>> path = "/usr/bin/env" >>> path.split( "/" ) #将字符串分割成列表 [' ', ' usr ', ' bin ', ' env'] |
5.其它字符串方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
>>> s = ' I Love you! ' >>> s.lower() #转换字符串的小写 ' i love you! ' >>> s.upper() #转换字符串的大写 ' I LOVE YOU! ' >>> s.title() #换换字符串为标题(所有单词首字母大写) ' I Love You! ' >>> s.islower() #判断字符串是否为小写(也可判断大写和标题) False >>> s.strip() #去除首尾空格,lstrip去除左边空格,rstrip去除右边空格 'I Love you!' >>> word = s.split() #分割 >>> word [ 'I' , 'Love' , 'you!' ] >>> '::' .join(word) #合并 'I::Love::you!' >>> s.count( 'o' ) #统计出现次数 2 >>> s.find( 'you' ) #查找位置,如果找不到,则返回-1 9 >>> s.startswith( 'python' ) False >>> s.replace( 'you' , 'yours' ) ' I Love yours! ' |