字符串学习3

来源:互联网 发布:跑步口罩推荐 知乎 编辑:程序博客网 时间:2024/06/05 05:51
索引和切片




>>> lang = "study python"
>>> lang[0]
's'
>>> lang[1]
't'


如果不愿意通过赋值语句,让变量lang来指向那个字符串,亦可以这样做:
>>> "study python"[0]
's'


>>>lang.index("p")
6


>>> lang
'study python'
>>> lang[2:9]
'udy pyt'
不管是得到一个还是多个,通过索引得到字符的过程,称之为切片。


>>> lang
'study python'
>>> b = lang[1:]   #得到从1号到最末端的字符,这时最后那个需要不用写
>>> b
'tudy python'
>>> c = lang[:]    #得到所有字符
'study python'
>>> d = lang[:10]  #得到从第一个到10号之前的字符
>>> d
'study pyth'


lang[:10]的效果和lang[0:10]是一样的。


>>> id(c)
30719345536L
>>> id(lang)
3071934536L
从上面可以看出,两个的内存地址一样,说明c和lang两个变量指向的是同一对


象。




字符串的基本操作




字符串是一种序列,所有序列都有如下基本操作:
1.len():求序列长度
2..:连接2个序列
3..:重复序列元素
4.in:判断元素是否存在于序列中
5.max():返回最大值
6.min():返回最小值
7.cmp(str1,str2):比较2个序列值是否相同


"+"连接字符串
>>> str1 + str2
'abcdabcde'
>>> str1 + "-->" + str2
'abcd-->abcde'
现在只是学了字符串这一种序列,后面还会遇到列表、元组两种序列,都能够如


此实现拼接。


in
>>> "a" in str1
True
>>> "de" in str1
False
>>> "de" in str2
True
in用来判断某个字符串是不是在另外一个字符串内。




最值
>>> max(str1)
'd'
>>> max(str2)
'e'
>>> min(str1)
'a'
一个字符串中,每个字符在计算机内都是有编码的,也就是对应着一个数字。






比较
>>> cmp(str1,str2)
-1
小于0,说明第一个小于第二个
等于0,则两个相等
大于0,说明第一个大于第二个


>>> ord('a')
97
>>> ord('b')
98
>>> ord(' ')
32
ord()是一个内建函数,能够返回某个字符(注意,是一个字符,不是朵儿字符组


成的串)所对一个的ASCII值(是十进制的)。


根据整数值得到相应字符,可以使用chr()
>>> chr(97)
'a'
>>> chr(98)
'b'




>>> cmp("a","b") #a-->97,b-->98,97小于98,所以a小于b
-1
>>> cmp("abc","aaa")
1
>>> cmp("a","a")
0


>>> cmp("ab","c")
-1
在字符串的比较中,是两个字符串的第一个字符先比较,如果相等,就比较下一


个,如果不相等就返回结果。如果还相等,就返回0.


>>> cmp("123","23")
-1
>>> cmp(123,23)   #页可以比较整数,这时候就是整数的直接比较了。
1




"*"
字符串中的"乘法",这个乘法,就是重复那个字符串的含义。
>>> str*3
'abcdabcdabcd'
>>> print "-"*20  #不用输入很多个'-'
-------------------






len()


>>> a = "hello"
>>> len(a)
5



0 0
原创粉丝点击