列表可以多重赋值。举个例子:
list_example = [1, 2, 3]
b, c, d = list_example
列表的方法有:list.index(item)--返回下标;list.append(item)--添加新值至末尾;list.insert(index, item)--添加新值至index处;lis.remove(item)--删除值(只有第一次的值会被删,知道值所对应的下标可用del 语句);list.sort()--数值列表或字符串排序,可指定关键字reverse=True实现逆序,关键字参数key=str.lower不区分大小写(实际列表中的项都已当成小写);、
元祖像字符串一样,是不可变的。
列表、元祖、字符串之间可以相互转换。
将列表(可变变量,字典也是)赋给一个变量时,实际上是将列表的引用赋给了该变量。在将该变量赋给一个新的变量时,实际上是将列表的引用拷贝给了新的变量,改变任意一个变量中列表的值时,列表会变,也就是说两个变量中的值都会变,举个例子:
a = [0 ,1, 2, 3, 4]
b = a
b[1] = 5
# a、b 变为[0, 5, 2, 3, 4]
避免这种情况,可以使用list2=copy.copy(list1)来复制,创建的第二个列表能独立于第一个列表的修改。
要复制的列表中包含了列表就需要使用copy.deepcopy(list)来代替。
关于字典:
字典中的表象是不排序的,因而不能切片(区别于list)
字典的方法:dict.keys()--返回键值;dict.values()--返回值;dict.items()--返回键值对的元祖, 可将这些返回值转换成列表。可利用多重赋值的技巧将键、值赋给不同的变量;获取字典中的值时使用get(key, 备用值)可避免键值不在字典中引发的错误; dict.setdefault(key,默认值)可确保一个键的存在(没有该键时会加入键值对,有的话并不会把默认值写入);
关于字符串:
介绍常用的字符串方法:
str.upper()、str.lower()分别返回对应字符串的大、小写;isupper()、islower()判断字符串是否大、小写;isalpha()判断字符串中是否只包含字母;isalnum()判断字符串中是否只包含字母和数字;isdecimal()判断字符串中是否只包含数字;isspace()判断字符串中是否只包含空格、制表符和换行;istitle()判断字符串中是否只包含仅首字母大写;;startswith(str)、endwith(str)以传入的字符串开始或结束;' '.join(list) 用' '中的连接列表中的字符串;str.split()默认按照空格划分返回一个字符串列表,也可自己指定;str.rjust(int)、str.ljust(int)通过插入空格(也可自己指定,参数放int后)来对齐文本,字符串长度由参数指定;str.center(int, 指定字符)让文本据中;str.strip()、str.lstrip()、str.rstrip()可以分别删掉空格字符、左边的空格字符、右边的空格字符,也可自己指定(放在括号中)