① python中关系运算符in,not in在字符串表达式和列表的使用时有什么区别和注意点
Membership test operations
For container types such as list, tuple, set, frozenset, dict, or collections.deque, the expressionxinyis equivalent toany(xiseorx==eforeiny).
For the string and bytes types,xinyisTrueif and only ifxis a substring ofy. An equivalent test isy.find(x)!=-1. Empty strings are always considered to be a substring of any other string, so""in"abc"will returnTrue.
翻译:
对容器类型,例如list、tuple、set、frozenset、dict或collections.deque,表达式x in y等价于any(x is e or x == e for e in y)。
对字符串和bytes类型,x in y为真当且仅当x是y的子串。等价测试为y.find(x) != -1。空字符串永远被视作是其他任何字符串的子集,因此"" in "abc"将返回True。
② Python数据容器中,字典与列表,元组,字符串这三种容器有什么本质区别
①.相同点: 字典像列表,元组,字符串一样都是用来存储多个数据的高级容器
②.不同点: 字典是无序的容器,其存储数据的方式是键值对,不能使用索引下标访问,要使用键key访问数据
而列表,元组,字符串是有序的容器,容器中数据是有顺序的,可以通过索引下标访问数据
想要相关实现的操作和源码,参考黑马程序员的相关教程,官网都有配套资料,资料当中就含有课件+笔记+源码了。总之非常适合小白学习,想要学习的可以去看看。
③ 在Python中列表与字符串这两种数据结构有何区别你认为采用哪种更可靠
字符串是immutable的,list是mutable的
也就是说字符串一旦定义不可改变,list则可以。
eg.
s="abc"
d=['a','b','c']
d.append('e')
而
new_s=s+'e'
而且,
immutable意味着可以作字典的key,而mutable则不可。
此外两种东西的方法不同。
④ python 的list和string...
list是列表,string是字符串。列表的格式就是[],[],[]
你想获得的是列表中的第一个字符串而已。所以你用列表中的第一个值就可以
所以用s[0]
⑤ 简述python中列表,元组,字典之间的相同点和不同点
元组和列表十分类似,只不过元组和字符串一样是不可变的即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。1、Python中元组的书面形式和规范:tuplename=(tupleitem1,tupleitem2,tupleitem3,tupleitem4)tuplename=tupleitem1,tupleitem2,tupleitem3,tupleitem4注意:定义元组的是逗号,而非括号。zoo=('wolf','elephant','penguin')print'Numberofanimalsinthezoois',len(zoo)new_zoo=('monkey','dolphin',zoo)print'Numberofanimalsinthenewzoois',len(new_zoo)print'Allanimalsinnewzooare',new_zooprint'Animalsbroughtfromoldzooare',new_zoo[2]print'Lastanimalbroughtfromoldzoois',new_zoo[2][2]一个空的元组由一对空的圆括号组成,如myempty=()。然而,含有单个元素的元组必须在第一个(唯一一个)项目后跟一个逗号,这样Python才能区分元组和表达式中一个带圆括号的对象。
⑥ 如何判断一个Python变量是一个字符串还是列表
python官方文档在说明type函数的用法时,明文推荐用isinstance测试对象类型。
isinstance似乎不是这么用的。 我通常的做法是用type
x=int(5)
if type(x)==int: print " x is interger. "
else: print "false."
isinstance可以用来判断一个变量是否属于一个类。 在python里应该是正确的。
if type(x)==list:pass
if type(x)==dict:pass
⑦ python字典和列表区别有哪些
列表
1.任意对象的有序集合
列表是一组任意类型的值,按照一定顺序组合而成的。
2.通过偏移读取
组成列表的值叫做元素(Elements)。每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现。
3.可变长度,异构以及任意嵌套
列表中的元素可以是任意类型,甚至是列表类型,也就是说列表可以嵌套。
4.可变的序列
支持索引、切片、合并、删除等等操作,它们都是在原处进行修改列表。
5.对象引用数组
列表可以当成普通的数组,每当用到引用时,Python总是会将这个引用指向一个对象,所以程序只需处理对象的操作。当把一个对象赋给一个数据结构元素或变量名时,Python总是会存储对象的引用,而不是对象的一个拷贝。
相关推荐:《Python教程》
字典
1.通过键而不是偏移量来读取
字典就是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储,查找速度快。
2.任意对象的无序集合
字典中的项没有特定顺序,以“键”为象征。
3.可变长、异构、任意嵌套
同列表,嵌套可以包含列表和其他的字典等。
4.属于可变映射类型
因为是无序,故不能进行序列操作,但可以在远处修改,通过键映射到值。字典是唯一内置的映射类型(键映射到值的对象)。
5.对象引用表
字典存储的是对象引用,不是拷贝,和列表一样。字典的key是不能变的,list不能作为key,字符串、元祖、整数等都可以。
和list比较,dict有以下几个特点:
1.查找和插入的速度极快,不会随着key的增加而增加。
2.需要占用大量的内存,内存浪费多。
而list相反:
1.查找和插入的时间随着元素的增加而增加。
2.占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
⑧ python中什么是序列,列表,元组,字符串,索引,区别是什么
序列和列表虽然都是用的中括号[],但个人认为序列是一连串的,但列表里每个元素都有各自地址,只不过是逻辑上把他们整合到一起而已。
⑨ 列表,元组,字符串是python的什么序列
序列
序列是Python中最基本的数据结构,包括字符串、列表、元组。
序列,顾名思义,是有序的,序列都有索引,都能进行索引、切片(截取)、加(连接)、乘(倍增)、检查成员的操作。
因为序列有序,可通过位置来区分元素,所以序列中可含有相同的元素。
序列的通用操作
1、索引
seq[index] index从0开始,支持负数,-1表示最后一个元素。
2、切片(截取)
seq[start:end] 可截取子序列,返回的是副本,原序列不变。缺省时默认start为0,end为-1。
3、+(连接)
seq1+seq2+seq3+..... 将多个序列连接为一个序列,返回的是副本,原序列不变
序列的类型要相同,才能相加,比如列表只能+列表,不能+字符串。
4、*(倍增)
seq*n 将序列扩展为原来的n倍,比如“hello”*2就是“hellohello”。返回的是副本,原序列不变。
5、in、not in(检查成员)
element in/not in seq 判断某个成员是否在序列中,返回值是bool型
6、python内置函数,不必导入模块:
len(seq) 返回序列长度(元素个数)
max(seq) 返回序列中值最大的元素
min(seq) 返回序列中值最小的元素
列表(List)
列表中的元素类型可以不同,甚至可以嵌套复杂的数据类型。列表用中括号[ ]表示。
list1=[1,2,3] #类型相同
list2=[1,"ok",[1,2,3]] #类型不同&&嵌套
列表的常用方法
函数
描述
list.append(ele)
在list末尾添加一个元素
list.insert(index,ele)
在指定位置插入一个元素
list.count(ele)
统计list中ele出现的次数
list.extend(x)
扩展list,x可以是列表、元组、集合、字典(只添加key)。添加到list的末尾。
+连接只能连接相同类型的序列。
list.index(ele)
索引元素,返回索引
list.pop([index])
弹出(删除)并返回指定位置上的元素,,缺省index时默认为-1(最后一个元素)。
list.remove(ele)
移除指定元素,若list中有多个ele,只移除第一个ele
list.()
复制list,返回复制的列表。示例:list2=list1.()
list.clear()
清空列表
list.reverse()
反序排列
list.sort(reverse=True)
将列表中的元素按升/降序排列,缺省参数时默认为False(升序),True是降序。示例:
list.sort() #升序排列
list.sort(reverse=True) #降序排列
注意:此函数不返回排序后的列表。
列表(List)是可变的,如果上述方法修改了List,List会改变。
数字(Number)、字符串(String)、元组(Tuple)是不可变的,操作时返回的往往是副本,原来的值不变。
元组(Tuple)
元组中可以含有不同类型的数据。
元组不能被修改,不能删除、修改元组中的元素,但可以用del删除整个元组。
元组用小括号()表示。
tuple1=() #空元组
tuple2=(1,4,3)
tuple3=(1,"ok",[1,2,3]) #类型不同&&嵌套
列表、元组之间的转换
1、list(tup) 将元组转换为列表
myTuple=(1,2,3)print(list(myTuple)) #[1, 2, 3]
"""python的内置函数list(tup)可以将元组转换为列表,并返回该列表
此函数不会修改元组本身,myTuple仍是元组,本身不会变成列表"""
2、tuple(list) 将列表转换元组
myList=[1,2,3]print(tuple(myList)) #(1, 2, 3)
"""python的内置函数tuple(list)可以将列表转换为元组,并返回该元组
此函数不会修改列表本身,myList仍是列表,本身不会变成元组"""
这2种方法均不会修改列表、元组本身。
⑩ python的数据类型有哪些
python数据类型主要分为以下六大类:Numbers(数字)、String(字符串)、List(列表、Tuple(元组)、Dictionary(字典)、Set(集合)。
Python的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)。
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
字符串类型:
python的字符串或串(String)是由数字、字母、下划线组成的一串字符。