4

python 内置数据类型与方法

 1 year ago
source link: https://blog.51cto.com/coderusher/5716306
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Table of Contents

序列类型包括列表、元组和范围(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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK