免费企业建网站,建信金融科技有限责任公司,苏州企业网站设计制作,wordpress 评论回复邮件通知插件目录
1、使用bool判断某一数据类型是否为空
2、Python集合#xff08;数组#xff09;
1、列表
2、元组
3、集合
4、字典 1、使用bool判断某一数据类型是否为空
如果有某种内容#xff0c;则几乎所有值都将评估为 True。
除空字符串外#xff0c;任何字符串均为 Tr…目录
1、使用bool判断某一数据类型是否为空
2、Python集合数组
1、列表
2、元组
3、集合
4、字典 1、使用bool判断某一数据类型是否为空
如果有某种内容则几乎所有值都将评估为 True。
除空字符串外任何字符串均为 True。
除 0 外任何数字均为 True。
除空列表外任何列表、元组、集合和字典均为 True。
实际上除空值例如 ()、[]、{}、、数字 0 和值 None外没有多少值会被评估为 False。当
然值 False 的计算结果为 False。
print(bool()); # false
print(bool(0)) # false
print(bool()) # 空字符串false
print(bool(abc)) # true
print(bool(123)) # true
print(bool([apple, cherry, banana])) # true
bool(False) # false
bool(None) # false
bool(()) # false
bool([]) # false
bool({}) # false
所以要是判断字符串是否为空还可以使用bool类型进行判断当然可以而不必使用len(x)进行判断。
2、Python集合
Python 编程语言中有四种集合数据类型
列表List是一种有序、有索引、可更改的集合。允许重复的成员。元组Tuple是一种有序、有索引、不可更改的集合。允许重复的成员。词典Dictionary是一个无序、有索引、可更改的集合。没有重复的成员集合Set是一个无序、无索引、可更改的集合。没有重复的成员。如果四种集合类型有索引那么可以根据索引进行数据修改、返回索引号对应的值或者对集合进行切片操作可更改和不可更改体现在对四种集合数据类型是否可以使用内建方法进行增、删、改、查等操作虽然元组是不可变的但是元组可以包含可变对象比如一个元组中可以包含一个列表。虽然元组本身不可以修改但是列表中的元素是可以修改的有序的数据类型可以按照固定的顺序进行排序而无序的数据类型没有固定的顺序因此无法进行排序。无序的数据类型也不能直接比较大小因为它没有固定的顺序。 使用排序算法对无序数据类型进行排序需要将其转换为有序数据类型如将无序集合转换为有序列表然后对列表进行排序。但是这种方法只是对整个数据类型进行排序而不是对其中的每个元素进行排序。 需要注意的是有些数据类型虽然是有序的但是不能进行排序如 Python 中的元组。元组中的元素虽然有固定的顺序但是由于元组中的元素类型可以是不同的因此无法进行排序
1、列表数组
说白了就是其他语言中的数组只不过python中的这个数组功能太强大
#———————————负索引表示从末尾开始-1 表示最后一个项目-2 表示倒数第二个项目依此类推。thislist [apple, banana, cherry]print(thislist[-1]) # 打印cherry#———————————此例将返回从索引 -4包括到索引 -1排除的项目thislist [apple, banana, cherry, orange, kiwi, melon, mango]print(thislist[-4:-1]) # [orange, kiwi, melon]#———————————使用正向索引对列表进行切片操作返回一个新的列表thislist [apple, banana, cherry, orange, kiwi, melon, mango]# 正向索引切片操作时和字符串一样不包括最后一个索引位置的数据print(thislist[2:5]) # [cherry, orange, kiwi]#———————————使用索引号修改列表中对应位置中的数据thislist [apple, banana, cherry]thislist[1] mangoprint(thislist) # [apple, mango, cherry]#———————————使用 in 检查列表中是否有该数据thislist [apple, banana, cherry]if apple in thislist:print(Yes, apple is in the fruits list)#———————————使用len(x)返回当前列表中的数据长度thislist [apple, banana, cherry]print(len(thislist)) # 3#———————————使用循环的方法把 list2 追加到 list1 的末尾中list1 [a, b , c]list2 [1, 2, 3]for x in list2:list1.append(x) print(list1) # [a, b, c, 1, 2, 3]#———————————当然还可以使用extend() 方法将 list2 添加到 list1 的末尾list1.extend(list2)print(list1) # [a, b, c, 1, 2, 3]#———————————使用list() 构造函数创建列表thislist list((apple, banana, cherry))print(thislist) #[apple, banana, cherry]列表中常使用的内建方法如下表直接使用 变量名.方法调用即可
append()在列表的末尾添加一个元素clear()删除列表中的所有元素copy()返回列表的副本count()返回具有指定值的元素数量。extend()将列表元素或任何可迭代的元素添加到当前列表的末尾index()返回具有指定值的第一个元素的索引insert()在指定位置添加元素pop()删除指定位置的元素remove()删除具有指定值的项目reverse()颠倒列表的顺序sort()对列表进行排序
2、元组
元组和列表的操作基本一样根据索引号取值、使用正负索引号对元组进行切片操作并返回一个新的元组、使用len(x)返回元组中数据的长度、使用in判断是否存在某一数据都可行。但是唯一不同的是由于元组是一个不可更改的集合所以凡事想要修改元组的操作是不可行的。
并且虽然元组是不可更改的但是可以完全删除元组
thistuple (apple, banana, cherry)del thistuple # 删除元组列表等其他集合数据类型都可以使用print(thistuple) # 这会引发错误因为元组已不存在
使用 运算符 合并两个元组返回的是一个新元组并没有对之前的元组做出修改
tuple1 (a, b , c)tuple2 (1, 2, 3)tuple3 tuple1 tuple2print(tuple3) # 打印(a, b, c, 1, 2, 3)
由于元组中的数据是不可更改的所以在元组中必然不存在增、删、改、查等操作。只有下面两种
count()返回元组中指定值出现的次数。index()在元组中搜索指定的值并返回它被找到的位置。
3、集合
在 Python 中集合用花括号编写
由于没有索引的特性所以不能进行切片操作或者根据索引值返回对应数据
但是可以使用使用for循环遍历取值
thisset {apple, banana, cherry}for x in thisset:print(x)
可以判断集合中是否存在某一元素值
thisset {apple, banana, cherry}print(banana in thisset)
下面是集合中常用的内建方法
add()向集合添加元素。clear()删除集合中的所有元素。copy()返回集合的副本。difference()返回包含两个或更多集合之间差异的集合。difference_update()删除此集合中也包含在另一个指定集合中的项目。discard()删除指定项目。intersection()返回为两个其他集合的交集的集合。intersection_update()删除此集合中不存在于其他指定集合中的项目。isdisjoint()返回两个集合是否有交集。issubset()返回另一个集合是否包含此集合。issuperset()返回此集合是否包含另一个集合。pop()从集合中删除一个元素。remove()删除指定元素。symmetric_difference()返回具有两组集合的对称差集的集合。symmetric_difference_update()插入此集合和另一个集合的对称差集。union()返回包含集合并集的集合。update()
4、字典
字典是一个无序、可变和有索引的集合。在 Python 中字典用花括号编写拥有键和值。
#————————————————创建并打印字典thisdict {brand: Porsche,model: 911,year: 1963
}
print(thisdict) # {brand: Porsche, model: 911, year: 1963}#————————————————获取 model 键的值x thisdict[model]x thisdict.get(model) # 911#————————————————把 year 改为 2019thisdict[year] 2019print(thisdict) #{brand: Porsche, model: 911, year: 2019}#————————————————逐个打印字典中的所有键名for x in thisdict:print(x) #brand 、model、year#————————————————逐个打印字典中的所有值for x in thisdict:print(thisdict[x]) # Porsche、911、1963#————————————————还可以使用 values() 函数返回字典的值for x in thisdict.values():print(x) # Porsche、911、1963#————————————————通过使用 items() 函数遍历键和值for x, y in thisdict.items():print(x, y)# brand Porsche
# model 911
# year 1963
还有使用in判断是否存在某一键值对、使用len(x)判断词典的长度等方法
通过使用新的索引键并为其赋值可以将项目添加到字典中
# 通过使用新的索引键并为其赋值可以将项目添加到字典中
thisdict {brand: Porsche,model: 911,year: 1963
}
thisdict[color] red
print(thisdict) # {brand: Porsche, model: 911, year: 1963, color: red}
del 关键字删除具有指定键名的项目(使用del thisdict也可以完全删除字典
thisdict {brand: Porsche,model: 911,year: 1963
}
del thisdict[model]
print(thisdict) # {brand: Porsche, year: 1963}
词典也可以包含许多词典这被称为嵌套词典套娃的形式有点类似于C中的结构体嵌套
child1 {name : Phoebe Adele,year : 2002
}
child2 {name : Jennifer Katharine,year : 1996
}
child3 {name : Rory John,year : 1999
}myfamily {child1 : child1,child2 : child2,child3 : child3
}print(myfamily)
C:\Users\My Namepython python_dictionary_nested_2.py {child1: {name: Phoebe Adele, year: 2002}, child2: {name: Jennifer Katharine, year: 1996}, child3: {name: Rory John, year: 1999}}
也可以使用 dict() 构造函数创建新的字典
thisdict dict(brandPorsche, model911, year1963)
# 请注意关键字不是字符串字面量
# 请注意使用了等号而不是冒号来赋值
print(thisdict)
下面是词典中常用的内建方法
clear()删除字典中的所有元素copy()返回字典的副本fromkeys()返回拥有指定键和值的字典get()返回指定键的值items()返回包含每个键值对的元组的列表keys()返回包含字典键的列表pop()删除拥有指定键的元素popitem()删除最后插入的键值对setdefault()返回指定键的值。如果该键不存在则插入具有指定值的键。update()使用指定的键值对字典进行更新values()