0
点赞
收藏
分享

微信扫一扫

python 内置数据类型与方法

序列类型包括列表、元组和范围(range)以及字符串,序列类型的对象有一些共同的操作,如操作符运算、切片操作等。

1. list类型与操作

1.1 玩转索引

列表(list)类型的对象可以通过 list()函数来创建。如果list()函数没有传入参数,则创建一个空列表。

In [1]:L1=1izt([123, 23, [4,5,6], 'abe'))
In [2]:L1
0ut[[2]:[123, 23, [4,5,6], 'abe']
操作 返回值
x in s 如果元素x在序列s中,返回值为True,否则,为False
x not in s 如果元素x不在序列s中,返回值为False,否则,为True
s+t 序列s和序列t的链接,前提是序列的数据类型(type)相同
sn or ns 序列s中的元素整体重复n次,形成一个新的序列
s[i] 返回序列s中索引值为i的元素值;s第一个索引值为0
S[i:j] 返回序列s索引值为i到j的切片,不包括s[j]
s[i:j:k] 返回s索引序列的切片,索引序列为以k为步长,起始值为i,结束值为j
len(s) 返回s序列的所占字符长度
min(s 返回序列s中的最小值
max(s) 返回序列s中的最大值
s.index(x[,i[,j] 返回x在序列s或者切片s[i:j]中第一次出现的索引值
s.count(x) 返回序列s中,元素x 出现的次数

列表是可变对象,列表中元素及其元素的个数允许被更改,可以增加、插入或者删除列表中的元素

1.2 常规方法

列表是可变对象,列表中元素及其元素的个数允许被更改,可以增加、插入和删除。

1.2.1 增

操作 方法
append list.append("单个元素")
+/+= list1+list2 或 list += list2
extend list.extend("可迭代对象")

1.2.2 删

操作 方法 说明
pop list.pop("指定索引") 删除指定索引位置的元素并返回删除值,默认删除列表最右端元素
remove list1.remove("指定元素") 如果指定元素在列表则删除最左端(第一次)出现的元素,否则抛出ValueError

在实际使用remove()方法的时候,往往先使用count(x) 函数来统计列表中指定元素的个数,如果count(x)返回值为0则不需要再进行删除

1.2.3方法汇总

方法名称 功能
List1.append(x) 增加一个元素,在列表List1的末尾段增加一个元素x
List1.extend(w) 增加多个元素,w是可迭代对象,将y中的元素都增加到List1末尾处
List1.insert(i,x) 在列表List1的索引值为i处插入元素x
List1.pop() 删除列表List1中末尾处的元素,并打印出该元素值
List1.pop(i) i为整型数据,删除并打印出列表List1索引值为i的元素值
List1.count(x) 返回列表List1中元素x出现的个数
List1.remove(x) 若元素x位于列表List1中,输出x在列表出现的最左端那个值;否则,有ValueError
List1.sort() 对列表List1中的元素升序排列,前提是List1中的元素是有顺序性的
List1.reverse() 对列表List1 中的元素降序排列,前提是List1 中的元素是有顺序性的
List1.index(x,start,end) 返回列表List1或者列表切片ListIstart:end]中元素x出现位置最左边的索引值

2. tuple类型与操作

元组(tuple)数据也属于序列类型数据,但其具有不可变的性质,可以通过函数 tuple()、"逗号(,)"以及"小括号( )"创建一个元组对象。当然也可以通过tuple()方法将list类型更改为tuple类型

  • 举个栗子
In[1]:tu1 = tuple((123,45,6,7,8,'python')

In[2]:type(tu1)
Out[2]:tuple

In[3]:tu1
Out[3]:(123,45,6,7,8,'python ')

同样的,元组也是序列类型的数据,所以也同样具有和list类似的索引切片方式,方法参照list,不再一一列举。

3. range类型与操作

range()函数可以生成一个等间隔的整数序列,具有不可变的性质,可以直接通过range()方法生成。

  • 参数配置

只传入一个参数时,表示生成一个初始值为0、间隔为1,终止值为stop-1的等差序列

range(stop)

第一个参敷为初触值.第二个参数为终止参照值,第三个参数step表示步长

range(start,stop,step)

range()传入可迭代对象生成对应的类型数据,此处以list为例,生成含有从1到10的奇数的列表

In[1]: list = range(1, 10, 2)
list
out[1]: range(1, 10, 2)

4. 字符串类型与操作

字符串生成函数str()用于创建一个字符串对象,该函数也会把其他类型的数据转变成字符串对象。

4.1基础方法汇总

操作方法 功能
len() 求字符串长度
+ 拼接字符串
"'设置的连接符'".join("可迭代对象") 用设置的连接符链接可迭代对象中的每一个元素,返回结果为字符串
"字符串对象".split(sep="'分割识别符'", maxsplit=1) 以指定的分割识别符最多分割 maxsplit次字符串,返回结果为列表
str.islower() 如果字符串对象str中的所有字符均为小写字母,返回True;否则,返回值为False.
str.isupper() 如果字符串对象str中的所有字符均为大写字母,返回True;否则,返回值为 False。
str.lower() 将字符串对象str中的所有字符转变成小写字母。
str.upper() 将字符串对象str中的所有字符转变成大写字母。
str.istitle() 如果字符串对象str中无空格的连续字符的首字母均大写,其余部分均小写,则返回值为True;否则,返回值为False.
str.title() 将字符串对象str 无空格的连续字符转变成首字母大写,其余部分均小写的形式
str.capitalize() 将字符串对象str的首字母大写,其余部分均小写
str.swapcase() 将字符串中的字母大小写调换,原本大写转变成小写,原本小写转变成大写。
str.find(x) 返回字符串x出现在字符串对象str 中的最左边位置;如果x不在str对象中,返回值为-1.
str.index(x) 返回字符串x出现在字符串对象str中的最左边位置;如果x不在str对象中,会报错.
str.rfind(x) 返回字符串x出现在字符串对象str中的最右边位置;如果x不在str对象中,返回值为-1。
str.rindex(x) 返回字符串x出现在字符串对象str中的最右边位置;如果x不在str对象中,会报错。
str.startswith(x) 参数x为字符串或者元组,如果对象str以x或者x元组中的某一个元素开头,则返回True,否则返回False.
str.endswith() 参数x为字符串或者元组,如果对象str以x或者x元组中的某一个元素结束,则返回True,否则返回False.
str.strip(chars) 删去对象str开始和结束处与参数字符chars 相同的部分
str.rstrip(chars) 删去对象str 结尾处与参数字符chars 相同的部分

5. 字典类型与操作

字典类型对象不是按照序列的方式存储数值,而是将值映射给一个键,通过索引字典中的键来提取相对应的值。若要创建一个字典对象,有两种方法可以使用。一是通过花括号{}创建,另一种方法是通过字典类的构造函数dict()来实现。

操作方法 功能
dict.items() 返回所有键值对
dict.kyes() 返回所有键
dict.values() 返回所有值
dict["键名"].get() 获取”键名“的值
dict.update("key1"="value1") 更新字典对象中键的取值
dict["原字典中不存在的键"]="value" 增加新的元素
del dict["键名"] 删除指定的键
clear() 清空字典中所有的内容并返回

6. 集合操作

python中的集合类型有两种,一种是set,是可变的数据类型,另外一种是frozenset,该数据类型不可变。

6.1 常规操作

集合常用于列表去重,对于set数据类型添加元素可以使用add()方法,删除元素可以使用remove()方法。(frozen类型的对象无法修改)

6.2 集合的运算

集合的运算不仅适用于两个集合之间,三个及三个以上的集合也适用

调用方法(method) 操作符运算 运算含义
set1.union(set2) set|set2 集合set1与set2作并运算
set1.intersection(set2) set1 & set2 集合set1与set2作交运算
set1.difference(set2) set1 - set2 集合差运算,删去集合set1中与set2相同的元素
set1.symmetric_difference(set2) set1^set2 集合对称差运算,返回集合set1与set2 中除了两集合共有元素以外的所有元素
set1.issubset(set2) set1<= set2 如果集合set1为集合set2 的子集,则返回True;否则,返回False
set1.issuperset(set2) set1>=set2 如果集合set2为集合set1的子集,则返回True;否则,返回False
set1.isdisjoint(set2) 如果集合 set2和set1无交集,则返回True,否则返回 False
举报

相关推荐

0 条评论