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列表函数&方法

   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列表函数&方法

元组

  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的主要内容,如果未能解决你的问题,请参考以下文章

Python基础——基本数据类型2

Python基础——基本数据类型1

Python基础-基本数据类型之数字字符串

Python 基础3:基本的数据类型

Python基础 基本数据类型

2 Python基础数据类型