本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正。转载请注明出处:https:////www.cnblogs.com/itwhite/p/12291087.html。
Python 中的数据类型列表:
其中:字符串、列表(数组)和元组又统称为“序列”,“序列”都支持索引、切片等操作。
Python 中使用 type() 内置函数可以返回表示数据类型的字符串,例如:
>>> type(123) <type ‘int‘>
Python 中,字符串可以通过 单引号(‘)、双引号(")、三引号(‘‘‘或""") 包围起来:
""" This is a mult-line string """
Python 中字符串默认为 ASCII 编码的,此外用户还可以指定字符串前缀用以告诉解释器如何解析编码格式:
另外,如果你的代码中有使用中文字符串时,请确保文件保存为 utf-8 格式并且在文件头部(第一行或第二行)加上“编码声明”(用以告诉解释器以源文件编码格式)。
操作 | 示例 |
---|---|
求字符串长度 | len("string") |
字符串连接 | s1 + s2 |
字符串比较 | s1 == s2 |
字符串查找 |
"string".find("ri") # 返回 2 |
字符串分割 |
"Jack,Bob,Lucy".split(",") |
字符串替换 | s2 = s1.replace(‘old‘, ‘new‘) |
字符串反转 | string[::-1] |
字符串切片 | "string"[1:3]返回"tr",请参考“序列”一节 |
获取指定位置的字符 |
string[1] |
遍历字符串中字符 |
for c in string: |
大小写转换 |
"aaa".upper()、"BBB".lower() |
删除前后两端空白符 |
" abc ".strip() 返回 "abc" |
示例:
# 方法一:使用类似于 C 语言中 printf() 的格式, % 后面为一个元组 >>> "My name is %s, I‘m %d years old" % ("Jack", 23) "My name is Jack, I‘m 23 years old" # 方法二:使用 format() 方法,{} 中的方法表示传入参数的索引,该方法类似于正则式中的反向索引 >>> "{3} {0} {2} {1} {3} {0}".format("be", "not", "or", "to") ‘to be or not to be‘ >>> "{foo} {} {bar} {}".format(1, 2, bar=4, foo=3) # 自定义名字和省略名字 ‘3 1 4 2‘ >>> "{name} is approximately {value:.2f}.".format(value=3.1415926, name="PI") # 还可以指定精度 ‘PI is approximately 3.14.‘
Python 中的“列表”(list)也就是其它语言中的“数组”,fuck!示例:
foo = ["Jack", 23, "male"]
bar = [1, 2, 3, 4]
qux = ["Tokyo", "London", "Beijing", "Paris"]
常用的数组操作(表中示例中会用到上述示例中代码):
操作 | 示例 |
---|---|
求数组长度 | len(foo) |
访问指定元素 | foo[1] = 24 |
删除指定元素 |
del foo[1] # 删除指定下标元素, foo 将变为["Jack", "male"] |
追加一个元素 | bar.append(5) # bar 将变为[1, 2, 3, 4, 5] |
查找指定元素索引(第一次出现的) | qux.index("Beijing") # 返回2 |
插入一个元素 | qux.insert(2, "Sydney") # 在"London"后面插入(插入的新元素索引为2) |
删除最后一个元素 | bar.pop() # bar 将变为 [1, 2, 3] |
反转所有元素 | bar.reverse() # bar 将变为 [4, 3, 2, 1] |
数组排序 | qux.sort() # qux 将变为 [‘Beijing‘, ‘London‘, ‘Paris‘, ‘Tokyo‘],注意 sort() 不返回任何值,而会修改数组本身 |
数组元素合并成一个字符串 | ", ".join(qux) # 返回字符串 ‘Tokyo, London, Beijing, Paris‘ |
与列表相似,元组也是一种序列,区别在于元组中不可以修改元素(不可以对元素赋新值,即不可以修改元素指向的地址,但是可以修改指向地址中的内容)。示例:
>>> (1, 2, 3) (1, 2, 3) >>> 1, 2, 3 # 可以省略括号 (1, 2, 3) >>> tuple([1, 2, 3]) # 列表转换成元组 (1, 2, 3) >>> foo = (1, 2, 3) >>> foo[1] = 4 # 错误,不能对其元素赋新值 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: ‘tuple‘ object does not support item assignment >>> bar = (1, [2, 3], 4) >>> bar[1][0] = 5 # ok,不可以修改其元素指向的地址,但是可以修改指向地址的内容 >>> bar (1, [5, 3], 4)
常用序列操作函数:
函数 | 描述 | 示例 |
---|---|---|
len() | 求序列长度 | len("foo")、len([1, 2, 3]) |
list() | 将序列转换为列表(返回列表) | list("Hello")、list((1, 2, 3)) |
max() | 求序列中的最大值 | max(1, 2, 3) 返回 3 |
min() | 求序列中的最小值 | min(1, 2, 3) 返回 1 |
reversed() | 返回一个反向迭代序列 | >>> reversed([1, 2, 3]) <listreverseiterator object at 0x0000000001E439E8> >>> for x in reversed([1, 2, 3]): ... print x |
sorted() | 返回一个有序列表 | sorted([3, 2, 1]) 返回[1, 2, 3] |
tuple | 将序列转换为元组(返回元组) | tuple([1, 2, 3]) 返回 (1, 2, 3) |
完。
原文:https://www.cnblogs.com/itwhite/p/12291087.html