Python基础——基本数据类型2
Posted ojia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础——基本数据类型2相关的知识,希望对你有一定的参考价值。
列表
定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
列表的创建
List1 = ["Hello", "Python", "China", "me"] # 或 List2 = list("Hello") # 或 List3 = list(["Hello", "Python", "China", "me"])
访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
list1 = ["Hello", "Python", "China", "me"] list2 = list("Hello") print("list1[0]: ", list1[0]) # 结果是:list1[0]: Hello print("list2[1:3]: ", list2[1:3])# 结果是:list2[1:5]: [‘e‘, ‘l‘]
Python列表截取与拼接
Python的列表截取与字符串操作类型,如下所示:
list1 = ["Hello", "Python", "China", "me"] # 打印全部 print(list1[:]) # 结果是:[‘Hello‘, ‘Python‘, ‘China‘, ‘me‘] # 打印索引1以及索引1后面的元素 print(list1[1:]) # 结果是:[‘Python‘, ‘China‘, ‘me‘] # 打印到索引2的元素包括索引2 print(list1[:2]) # 结果是:[‘Hello‘, ‘Python‘] # 列表拼接 list2 = ["new","list"] list1+=list2 print(list1) # 结果是:[‘Hello‘, ‘Python‘, ‘China‘, ‘me‘, ‘new‘, ‘list‘]
Python列表函数&方法
Python包含以下函数:
list1 = ["Hello", "Python", "China", "me"] # len(list) 列表元素个数 print(len(list1)) # 结果是:4 # max(list) 返回列表元素最大值 # 当进行字符串的排序的时候,Python是如何排序的呢 # 是进行比较id大小值 print(max(list1)) # 结果是:me print(id(list1[0])) # 结果是:2217808757344 print(id(list1[1])) # 结果是:2217808797344 print(id(list1[2])) # 结果是:2217809588832 print(id(list1[3])) # 结果是:2217778999400 # min(list) 返回列表元素最小值 print(min(list1)) # 结果是:China # list.append(obj) 在列表末尾添加新的对象 list1.append("new") # list1.append("new","new2")# 报错:TypeError: append() takes exactly one argument (2 given),此方法只可以添加一个 print(list1) # 结果是:[‘Hello‘, ‘Python‘, ‘China‘, ‘me‘, ‘new‘] # list.count(obj) 统计某个元素在列表中出现的次数 print(list1.count("me")) # 结果是:1 # list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) list1.extend(["new1", "new2"]) print(list1) # 结果是:[‘Hello‘, ‘Python‘, ‘China‘, ‘me‘, ‘new‘, ‘new1‘, ‘new2‘] # list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 print(list1.index("me")) # 结果是:3 # print(list1.index("jhjj")) # 结果是:ValueError: ‘jhjj‘ is not in list,找不到会报错 # list.insert(index, obj) 将对象插入列表 list1.insert(2, "new") print(list1) # 结果是:[‘Hello‘, ‘Python‘, ‘new‘, ‘China‘, ‘me‘, ‘new‘, ‘new1‘, ‘new2‘] # list.pop([index=-1]]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 print(list1.pop(2)) # 结果是:new print(list1) # 结果是:[‘Hello‘, ‘Python‘, ‘China‘, ‘me‘, ‘new‘, ‘new1‘, ‘new2‘] # list.remove(obj) 移除列表中某个值的第一个匹配项,无返回值 list1.remove("me") print(list1) # 结果是:[‘Hello‘, ‘Python‘, ‘China‘, ‘new‘, ‘new1‘, ‘new2‘] # list.reverse() 反向列表中元素 list1.reverse() print(list1) # 结果是:[‘new2‘, ‘new1‘, ‘new‘, ‘China‘, ‘Python‘, ‘Hello‘] # list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序 # 降序 list1.sort(reverse=True) print(list1) # 结果是:[‘new2‘, ‘new1‘, ‘new‘, ‘Python‘, ‘Hello‘, ‘China‘] # 升序 list1.sort(reverse=False) print(list1) # 结果是:[‘China‘, ‘Hello‘, ‘Python‘, ‘new‘, ‘new1‘, ‘new2‘] # list.copy() 复制列表 list2 = list1.copy() print(list2) # 结果是:[‘China‘, ‘Hello‘, ‘Python‘, ‘new‘, ‘new1‘, ‘new2‘] # list.clear() 清空列表 list1.clear() print(list1) # 结果是:[]
元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
tup = (1,) tup1 = (1, 2, 3) tup2 = ("1", "2", "3") tup3 = tuple((1,2,3)) print(type(tup)) # 结果是:<class ‘tuple‘> print(type(tup1)) # 结果是:<class ‘tuple‘> print(type(tup2)) # 结果是:<class ‘tuple‘> print(type(tup3)) # 结果是:<class ‘tuple‘>
访问元组
元组可以使用下标索引来访问元组中的值,如下实例:
# tup1 = (‘China‘, ‘python‘, 2016, "0710") # tup2 = (1, 2, 3, 4, 5, 6, 7) # # print("tup1[0]: ", tup1[0]) # 结果是:tup1[0]: China # print("tup2[1:5]: ", tup2[1:5]) # 结果是:tup2[1:5]: (2, 3, 4, 5)
元组内置函数
Python元组包含了以下内置函数
tup1 = (‘China‘, ‘python‘, "2016", "0710") tup2 = (1,) # len(tuple) 计算元组元素个数。 print(len(tup1)) # 结果是:4 print(len(tup2)) # 结果是:1 # max(tuple) 返回元组中元素最大值。 print(max(tup1)) # 结果是:python # min(tuple) 返回元组中元素最小值。 print(min(tup1)) # 结果是:0710 # tuple.index(obj) 从元组中找出某个值第一个匹配项的索引位置 tup1.index("0710") # tup1.count() 从元组中找出元素出现的次数 print(tup1.count("China")) # 结果是:1
字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
dict1 = {"key1": "value1", "key2": "value2"} # 或 dict2 = dict(key1="value1", key2="value2") # 或 dict3 = dict({"key1": "value1", "key2": "value2"}) seq = (‘name‘, ‘age‘, ‘sex‘) dict = dict.fromkeys(seq) print("新的字典为 : %s" % str(dict)) # 结果是:新的字典为 : {‘age‘: None, ‘name‘: None, ‘sex‘: None} dict = dict.fromkeys(seq, 10) print("新的字典为 : %s" % str(dict)) # 结果是:新的字典为 : {‘age‘: 10, ‘name‘: 10, ‘sex‘: 10}
访问字典里的值
把相应的键放入到方括号中,如下实例:
dict1 = {"key1": "value1", "key2": "value2"} print(dict1["key1"]) # 结果是:value1
字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
dict = {"name":"Ojia","age":"22","name":"夜市街"} print(dict["name"])# 结果是:夜市街
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:
dict = {["name"]:"Ojia","age":"22"} print(dict["name"]) # 结果是:TypeError: unhashable type: ‘list‘
字典内置函数&方法
Python字典包含了以下内置函数:
dict = {"name": "Ojia", "age": "22", "sex": "boy"} # len(dict) 计算字典元素个数,即键的总数。 print(len(dict)) # 结果是:3 # str(dict) 输出字典,以可打印的字符串表示。 print(str(dict)) # 结果是:{‘name‘: ‘Ojia‘, ‘age‘: ‘22‘, ‘sex‘: ‘boy‘} # type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 print(type(dict)) # 结果是:<class ‘dict‘> # dict.copy() 返回一个字典的浅复制 dict2 = dict.copy() print(dict2) # 结果是:{‘name‘: ‘Ojia‘, ‘age‘: ‘22‘, ‘sex‘: ‘boy‘} # dict.keys() 返回一个包含字典所有KEY的列表 dict_list = dict.keys() print(dict_list) # 结果是:dict_keys([‘name‘, ‘age‘, ‘sex‘]) # dict.values() 返回一个包含字典所有values的列表 dict_values = dict.values() print(dict_values) # 结果是:dict_values([‘Ojia‘, ‘22‘, ‘boy‘]) # dict.items() 返回一个包含所有键值对的元组的列表 list1 = dict.items() print(list1) # 结果是:dict_items([(‘name‘, ‘Ojia‘), (‘age‘, ‘22‘), (‘sex‘, ‘boy‘)]) # 增加可以使用这个语法 dict["new_key"] = "new_values" print(dict) # 结果是:{‘name‘: ‘Ojia‘, ‘age‘: ‘22‘, ‘sex‘: ‘boy‘, ‘new_key‘: ‘new_values‘} # 修改 dict["sex"] = "girl" print(dict) # 结果是:{‘name‘: ‘Ojia‘, ‘age‘: ‘22‘, ‘sex‘: ‘girl‘, ‘new_key‘: ‘new_values‘} dict2 = {"new_key2": "new_value2"} dict.update( dict2) # 结果是:{‘name‘: ‘Ojia‘, ‘age‘: ‘22‘, ‘sex‘: ‘girl‘, ‘new_key‘: ‘new_values‘, ‘new_key2‘: ‘new_value2‘} print(dict) # 查看 print(dict.get("name")) # 结果是:Ojia # 循环 for key in dict: print(key, dict[key]) """结果 name Ojia age 22 sex girl new_key new_values new_key2 new_value2 """ for key, value in dict.items(): print(key + ":" + value) """结果 name:Ojia age:22 sex:girl new_key:new_values new_key2:new_value2 """ # 删除,如果pop的值不在的话会报错 dict.pop("sex") print(dict) # 结果是:{‘name‘: ‘Ojia‘, ‘age‘: ‘22‘, ‘new_key‘: ‘new_values‘} # 删除全部元素 dict.clear()
以上是关于Python基础——基本数据类型2的主要内容,如果未能解决你的问题,请参考以下文章