1、Python是一门弱类型语言,变量的类型由它的值确定。
2、赋值:
直接赋值: A =1
链式赋值: A=B=1
序列解包赋值:
A,B = 1,2 等号左边的变量和右边的常量个数一定要一致
list_a[1:3] = "a", "b"
a = list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a.append([1,2]) 在列表的尾部追加指定的元素
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, [1, 2]]
a.extend([1,2]) 将指定序列中的元素依次追加到列表的尾部
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, [1, 2], 1, 2]
insert将指定的元素插入到指定对应的索引位上,注意负索引
a.insert(-1, "x") --> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, [1, 2], 1, "x",2]
a.append(a) -->会进入一个死循环
列表的排序:
reverse:按照索引顺序倒序
sort:按照ascii码表进行排序
元组:
元素以逗号分隔,以小括号包围的有序的,不可修改的集合
our_tuple = tuple("abc") --> ('a', 'b', 'c')
our_tuple2 = (1,2,3,"a",[1,2])
元组可以不加括号;
单元素元组需要加逗号;
元组不可修改,所以在配置文件中多看到元组,安全
元组和字符串的区别:
1、元组和字符串都是有序的,不可修改的序列
2、元组的元素可以是任何元素,字符串的元素只能是字符
3、元组的元素长度可以任意,字符串的元素长度只能为1
元组的方法:
count("a") 返回元组中指定元素的个数
index("a") 从左往右返回第一个遇到的指定元素的索引,如果没有,则报错
字典:
字典一个元素成键值对的形式,以逗号分隔,以大括号包围的无序的,可以修改的序列。
字典是python基础数据类型当中唯一一个映射关系的数据类型,通常对应json.也类似于js中的类对象。
定义:
zip函数: 将几个序列对应索引位上的元素分到一个元组当中,形成一个大元组,子元组的格式取决于最短序列的长度。
zip((1,2,3),['a','b','c']) -->[(1,'a'),(2,'b'),(3,'c')]
zip((1,2,3),['a','b','c'],"def") -->[(1,'a','d'),(2,'b','e'),(3,'c','f')]
dict:由于字典无序,所以我们定义字典和字典生成之后的顺序是不同的。
dict([(1,'a'),(2,'b'),(3,'c')])--> {1: 'a', 2: 'b', 3: 'c'}
dict(zip((1,2,3),['a','b','c']) )--> {1: 'a', 3: 'c', 2: 'b'}
dict_a = {1: 'a', 3: 'c', 2: 'b'}
Fromkeys形成以后面的序列的元素为键,值为None的字典:
{}.fromkeys("abcde")-->{'e': None, 'd': None, 'c': None, 'a': None, 'b': None}
{}.fromkeys("abcde","a")-->{'e': 'a', 'd': 'a', 'c': 'a', 'a': 'a', 'b': 'a'} 可以指定值
字典的特点:
因为字典是无序的,所以字典没有索引值。
因为字典没有索引值,所以字典以键取值,字典的键相当于列表的索引。
因为字典以键取值,所以字典的键唯一且不可修改。
因为字典的键不可修改,所以列表和字典不可以给字典做键。
字典键不可以重复:
dict(zip("hello", "12345")) --> {"h":"1", "e":"2","l":"4","o":"5"}