Python入门课(二)
列表
列表:一个以中括号包围,逗号分隔,有序的可以修改的序列。
>>> list_a=[1,2,3,"a",[1,2,3,"a"]]
>>> list_a
[1, 2, 3, 'a', [1, 2, 3, 'a']]
>>>
列表与字符串数据类型的相互转换
列表转字符串:
>>> print("".join(["f","2","a","asd"]))
f2aasd
>>>
A.join(B) 把A插入B
字符串转列表:
>>> list("f2aasd")
['f', '2', 'a', 'a', 's', 'd']
>>>
列表的索引
列表是有序可变的序列,其索引是通过索引号来进行。
列表的替换
通过列表的索引号对列表中的元素进行替换。
列表的增加
.append 将指定元素加到列表尾部
.extend 将指定元素依次加到列表尾部,可以是列表名
.insert 将指定元素加到指定的索引位上
list_a = list("sadkljsdf")
list_a.append("asdf")
print(list_a)
>>>
['s', 'a', 'd', 'k', 'l', 'j', 's', 'd', 'f', 'asdf']
>>>
list_a = list("sadkljsdf")
list_a.extend("asdf")
print(list_a)
>>>
['s', 'a', 'd', 'k', 'l', 'j', 's', 'd', 'f', 'a', 's', 'd', 'f']
>>>
list_a = list("sadkljsdf")
list_a.insert(3,"asdf")
print(list_a)
>>>
['s', 'a', 'd', 'asdf', 'k', 'l', 'j', 's', 'd', 'f']
>>>
列表的统计
count index
列表的删除
clear、pop、remove
clear全部清除
pop弹出指定元素,返回值是被弹出的元素
remove无返回值,直接删除指定元素
列表的排序
reverse、sort、copy(深拷贝浅拷贝)
浅拷贝外层不变,浅套层跟着变。
元组
元组是一个以小括号包围的,以逗号隔开的,有序的不可改变的序列。
关键词:tuple
>>> tuple("asdsfd")
('a', 's', 'd', 's', 'f', 'd')
>>>
元组的统计
count、index
元组的特性
单元素元组必须在引号后加逗号,否则是字符串数据。
>>> type("a")
<class 'str'>
>>> type(2)
<class 'int'>
>>> type("2")
<class 'str'>
>>> type("2",)
<class 'str'>
>>> type(("2",))
<class 'tuple'>
>>> type(("2"))
<class 'str'>
>>>
字典
字典是一个以大括号包围,元素成键值对格式,以逗号分隔的,无序的,可以修改的序列。
关键词:{}
Fromkeys:
>>> {}.fromkeys("sdfklsd")
{'s': None, 'l': None, 'd': None, 'k': None, 'f': None}
>>>
Dict:
Zip:将对应序列同索引位上的元素放到一个序列当中,遵循木桶效应。返回的是一个支持遍历的对象。
>>> zip("asdf","123")
<zip object at 0x000000000335A688>
>>> dict(zip("asdf","123"))
{'s': '2', 'd': '3', 'a': '1'}
>>>
字典是Python中唯一一种反应映射关系的数据类型。
字典无序->无索引->以键取值->键唯一不可变->列表和字典不能为键
get 获取指定键的值,没有默认返回None
>>> jg = {"a":1,"b":2}
>>> print(jg.get("c"))
None
>>> print(jg.get("c","找不到了"))
找不到了
items:返回迭代模式(字典嵌套元组模式)
>>> print(jg.items())
dict_items([('b', 2), ('a', 1)])
keys:返回所有键值
values:返回所有值
clear:清除
pop:弹出指定的键对应的值,然后删除键值对
>>> jg = {"a":1,"b":2}
>>> print(jg.pop("a"))
1
>>> print(jg)
{'b': 2}
>>>
popitem:随机弹出
stedefault:设置默认,如果键不存在就设置,如果存在就不作为
>>> jg = {"a":1,"b":2}
>>> jg.setdefault("a")
1
>>> print(jg)
{'b': 2, 'a': 1}
>>> jg.setdefault("c")
>>> print(jg)
{'c': None, 'b': 2, 'a': 1}
>>>
update:字典更新
>>> jg = {"a":1,"b":2}
>>> jg.update({"c":3})
>>> print(jg)
{'c': 3, 'b': 2, 'a': 1}
>>>