列表与元组
列表用大括号[]表示,元组用圆括号()表示。
列表可以修改,字符串与元组不可修改。
元组的分片还是元组,列表的分片还是列表。
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! '
|