看阿里云Python入门(中)时的摘录和笔记。
列表
2. 列表的创建
由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。即使保存一个简单的[1,2,3]
,也有3个指针和3个整数对象。
x = [a] * 4
操作中,只是创建4个指向list的引用,所以一旦 a
改变,x
中4个a
也会随之改变。
>>> x = [[1]] * 4
>>> x
[[1], [1], [1], [1]]
>>> x[0][0] = 2
>>> x
[[2], [2], [2], [2]]
5. 获取列表中的元素
浅拷贝和深拷贝:
>>> list1 = [123,456,789,213]
>>> list2 = list1
>>> list3 = list1[:]
>>> list1.sort()
>>> list1
[123, 213, 456, 789]
>>> list2
[123, 213, 456, 789]
>>> list3
[123, 456, 789, 213]
一定一定要注意:
>>> list1 = [[123, 456], [789, 213]]
>>> list2 = list1
>>> list3 = list1[:]
>>> list1[0][0] = 111
>>> list2
[[111, 456], [789, 213]]
>>> list3
[[111, 456], [789, 213]]
6. 列表常用操作符
连接操作符 +
,相当于列表的函数 extend()
:
>>> list1 = [123]
>>> list2 = [456]
>>> list1 + list2
[123, 456]
重复操作符 *
,注意是对于相应列表的元素进行重复:
>>> list1 = [1,2]
>>> list1 * 3
[1, 2, 1, 2, 1, 2]
>>>
>>> list1 *= 2
>>> list1
[1, 2, 1, 2]
元组
1. 创建和访问元组
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
>>> x = (1)
>>> type(x)
<class 'int'>
>>> y = (1,)
>>> type(y)
<class 'tuple'>
字符串
1. 字符串的定义
Python常用的转义字符:
转义字符 | 描述 |
---|---|
\\ | 反斜杠符号 |
\' | 单引号 |
\n | 换行 |
\t | 横向制表符(TAB) |
\r | 回车 |
如果只表示原始字符串,不表示转义时候,在字符串前添加 r
就可以了:
>>> s1 = 'abc\t bcd'
>>> s1
'abc\t bcd'
>>> print(s1)
abc bcd
>>> s2 = r'abd\t bcd'
>>> print(s2)
abd\t bcd
三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符:
>>> s = '''hello \t world \n kkk
abc \n'''
>>> print(s)
hello world
kkk
abc
>>>
字典
4. 字典的内置方法
dict.keys()
返回一个可迭代对象,可以使用list()
来转换为列表,列表为字典中的所有键dict.values()
返回一个迭代器,可以使用list()
来转换为列表,列表为字典中的所有值dict.items()
以列表返回可遍历的 (键, 值) 元组数组dict.pop(key[,default])
删除字典给定键key
所对应的值,返回值为被删除的值。key
值必须给出。若key
不存在,则返回default
值dict.copy()
返回一个字典的深复制
集合
3. 集合的内置方法
set.discard(value)
用于移除指定的集合元素。remove()
方法在移除一个不存在的元素时会发生错误,而 discard()
方法不会。