[ Python ] 基本数据类型及属性(下篇)

1. 基本数据类型

     (1) list 列表
     (2) tuple 元组
     (3) dict 字典
     (4) set 集合

2. list 列表方法

 Python 内置的一种数据类型,list是一种有序的集合,可以随时添加删除其中的元素。

( 1 ) append(self, p_object)
原列表后追加内容

list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.append('good')
print(list1)

# 执行结果:
# ['a', 'b', 'c', 'd', 1, 2, 3, 'good']

(2)clear()
清空列表所有元素

list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.clear()
print(list1)

# 执行结果:
# []

(3)copy()
列表拷贝(浅拷贝)

list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list2 = list1.copy()
print(list2)

# 执行结果:
# ['a', 'b', 'c', 'd', 1, 2, 3]

(4)count(self, value)
计算 value 出现的次数

list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
print(list1.count('hkey'))

# 执行结果:
# 2

(5)extend(self,iterable)
将可迭代对象通过for循环添加到当前列表中。
iterable:可迭代对象,能用于 for 循环的数据都是可迭代对象

list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
list2 = ['hello', 'world']

list1.extend(list2)
print(list1)

# 执行结果:
# ['hkey', 'b', 'c', 'hkey', 1, 2, 3, 'hello', 'world']

extend 和 append 进行比较:
extend是通过 for 循环把可迭代对象,一个一个append添加到当前列表的
append是将元素一次性的全部追加到元素末尾

(6)index(self, value, start=None, stop=None)
获取元素的索引位置

list1 = ['hkey', 'b', 'c', 'hkey', 1, 2, 3]
print(list1.index('hkey'))
# 从左到右查找元素,第一个出现的位置
# 执行结果:
# 0

(7)insert(self, index, p_object)
通过索引插入元素到列表对应位置

list1 = ['a', 'b', 'c', 'd', 1, 2, 3]

list1.insert(1, 'hello')
print(list1)

# 执行结果:
# ['a', 'hello', 'b', 'c', 'd', 1, 2, 3]

(8)pop(self, index=None)
删除列表对应索引的元素

list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.pop(2)
print(list1)

# 执行结果:
# ['a', 'b', 'd', 1, 2, 3]

(9)remove(self, value)
删除列表中对应的元素

list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.remove('c')
print(list1)

# 执行结果:
# ['a', 'b', 'd', 1, 2, 3]

(10)reverse
反转列表元素

list1 = ['a', 'b', 'c', 'd', 1, 2, 3]
list1.reverse()
print(list1)

# 执行结果:
# [3, 2, 1, 'd', 'c', 'b', 'a']

(11)sort(self, key=None, reverse=False)
列表中全部为数字或者字符串的时候,进行排序

list1 = [1, 3, 2]
list2 = ['d', 'z', 'a']
list1.sort()
list2.sort()
print('list1:', list1)
print('list2:', list2)

# 执行结果:
# list1: [1, 2, 3]
# list2: ['a', 'd', 'z']

3. tuple(元组)

元组也是有序序列,但是tuple一旦初始化就不能修改。
元组示例:(1, 2, 3, 'a', 'b', 'c'),元组只有 2 个方法

 (1)count
计算 value 出现的次数

list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd')
list2 = list1.count('d')
print(list2)

# 执行结果:
# 2

(2)index
获取元素的索引位置

list1 = ('a', 'b', 'c', 'd', 1, 2, 3, 'd')
print(list1.index('c'))

# 执行结果:
# 2

 4. dict 字典

 Python 内置字典类型,使用 键 - 值(key-value)存储,具有极快的查找速度。

(1)clear()
清空所有字典数据

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict1.clear()
print(dict1)

# 执行结果:
# {}

(2)copy()
拷贝字典所有数据

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict2 = dict1.copy()
print(dict2)

# 执行结果:
# {'age': 20, 'gender': '男', 'name': 'hkey'}

(3)fromkeys(*args,**kwargs)
args作为key依次循环,kwargs作为每个key的值
fromkeys 是 dict 类的静态方法,调用:dict.fromkeys

dict2 = dict.fromkeys(['a', 'b', 'c'], ['hello', 'world'])
print(dict2)

# 执行结果:
# {'a': ['hello', 'world'], 'c': ['hello', 'world'], 'b': ['hello', 'world']}

(4)get(self, k, d=None)
通过 key 获取字典中对应的 value

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
print(dict1.get('age'))
# 如果 get 没有找到对应的 key 则返回 None
# 执行结果:
# 20

 (5)items
分别获取字典的 key 和 value

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
for k, v in dict1.items():
        print(k, v)

# 执行结果:
# age 20
# gender 男
# name hkey

(6)keys
获取字典中所有的 key

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
for k in dict1.keys():
        print(k)
        
# 执行结果:
# gender
# age
# name

 (7)values
获取字典中所有的 value

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
for v in dict1.values():
        print(v)

# 执行结果:
# 20
# 男
# hkey

(8)pop(self, k, d=None)
删除 key 对应的 键值对

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}

dict1.pop('name')
print(dict1)

# 执行结果:
# {'age': 20, 'gender': '男'}

(9)popitem
随机删除字典中的键值对
通过变量可以获取被删除的键值对

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict2 = dict1.popitem()
print('随机删除后的dict1', dict1)
print('获取随机删除的键值对:', dict2)

# 执行结果:
# 随机删除后的dict1 {'gender': '男', 'name': 'hkey'}
# 获取随机删除的键值对:('age',20)

(10)setdefault(self, k, d=None)
已存在,不设置,获取当前key对应的值
不存在,设置,获取当前key对应的值

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
d1 = dict1.setdefault('name1', 'xiaofei')
print(d1)

# 执行结果:
# xiaofei

 (11)update(self ,E=None, **F)
修改字典中对应的键值对

dict1 = {'name': 'hkey', 'age': 20, 'gender': '男'}
dict1.update({'name': 'xiaofei'})
dict1.update(age=19)
print(dict1)
# 执行结果:
# {'gender': '男', 'age': 19, 'name': 'xiaofei'}

总结:

     字典有以下几个特点:
    (1)字典的 value 可以是任何值
    (2)布尔值(1, 0)、列表、字典不能作为字典的key
    (3)字典是无序的
    (4)字典支持 del 删除

原文地址:https://www.cnblogs.com/hukey/p/9233173.html