【python核心编程】第六章 序列
1、操作符
(1)成員關系操作符:in 、not in
>>> string ='abcdefg'
>>> 'a' in string
True
>>> 'h' in string
False
>>> 'h' not in string
True
*補充知識*:string模塊
>>> import string
>>> string.uppercase ? ? ? ?#大寫字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.lowercase ? ? ? ?#小寫字母
'abcdefghijklmnopqrstuvwxyz'
>>> string.letters ? ? ? ? ? ?#所有字母
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits ? ? ? ? ? ? #數字
'0123456789'?
(2)連接操作符:+
>>> char1 = '123456'
>>> char2 = '7890123'
>>> char1 + char2
'1234567890123'
>>> list1 = ['a','b','c','d']
>>> list2 = [1,2,3,4]
>>> list1 + list2
['a', 'b', 'c', 'd', 1, 2, 3, 4]
*補充知識*:join()
join()連接字符串
>>> s = ''.join(('Hello',' ','World'))
>>> s
'Hello World'
>>> b.upper()
'HELLO WORLD'
*補充知識*:字符串相加的習慣用法
>>> a = 'http://' 'www' '.baidu' '.com'
>>> a
'http://www.baidu.com'
(3)重復操作符:*
>>> a = '1'
>>> a*10
'1111111111'
>>> list = ['a','b','c']
>>> list*4
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
>>>?tuple = (1,2,3)
>>> tuple*4
(1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3)
(4)切片操作符:[]、[:]、[::]
- 正向索引
- 反向索引
- 默認索引
| 正向索引 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| ?序列 | a | b | c | d | e | f | g |
| 反向索引 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
?
?
?
------正向索引------
如上,正向索引時,索引值從0開始,結束于總長度減1,[start,end]可以訪問到包括start在內到end(不包含end)的所有字符,所以索引值有start <= x <end。
如果開始索引和結束索引沒有指定,則分別以字符串的第一個和最后一個索引值為默認值。
>>> str = 'abcdefg'
整個序列
>>> str
'abcdefg'
>>> str[:]
'abcdefg'
從第一個元素開始
>>> str[0:3]
'abc'
>>> str[:3]
'abc'
到最后一個元素結束
>>> str[2:7]
'cdefg'
>>> str[2:]
'cdefg'
序列切片
>>> str[2:5]
'cde'
>>> str[3]
'd'
------反向索引-------
反向索引最末的一個索引值定義: final_index = -len(str)
>>> str[-7]
'a'
>>> str[-7:-1]
'abcdef'
(5)擴展切片操作:[::]
>>> list = 'abcdef'
>>> list[::-1]??? #翻轉操作
'fedcba'
>>> list[::2]???? #隔一個取一個
'ace'
?(6)比較
?字符串做比較是按照ASCII值的大小來比較的。
>>> str1 = 'abc'
>>> str2 = 'def'
>>> str3 = 'xyz'
>>> str1 < str2
True
>>> str1 > str3
False
>>> str1 != str3
True
>>> str1 == 'xyz'
False
(7)補充更多內容
切片操作的開始和結束索引值可以超過字符串的長度,換句話說,起始索引可以小于0,而對于結束索引,即使索引值為100的元素并不存在也不會報錯,舉例:
>>> list = 'abcdef'
>>> list[1:100]
'bcdef'
2、字符串
(1)python里面單引號和雙引號的作用是相同的。
(2)字符串跟數字類型一樣是不可變的,也就是說不能改變一個字符串的一個字符或者一個子串,要改變一個字符串就必須重新創建一個新串,但是通過拼湊一個舊串的各個部分來得到一個新串是被允許的,如下:
>>> aString = 'Hello World'
>>> aString = aString[:6] + 'Python'
>>> aString
'Hello Python'
(3)刪除字符和字符串
強調字符串是不可變的,所以你不能僅僅刪除一個字符串中的一個字符,允許的操作為:
a.賦一個空字符串或者用del語句刪除一個字符串;
>>> del aString
>>> aString
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'aString' is not defined
b.剔除不需要的字符后將原字符串重新組合形成一個新串
>>> aString = 'Hello World'
>>> aString = aString[:3] + aString[4:]
>>> aString
'Helo World'
?
?
?
轉載于:https://www.cnblogs.com/tonto/p/3818543.html
總結
以上是生活随笔為你收集整理的【python核心编程】第六章 序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS侧滑框架合集
- 下一篇: Python 生成账号密码算法