python中list的in操作是不是二分查找

这个问题可能要去查官方文档了。。。

❷ python的列表,有没有查找的功能

Python中是有查找功能的,四种方式:in、not in、count、index,后两种方式是列表的方法,下面以a_list = ['a','b','c','hello'],为例作介绍:

  1. 判断值是否在列表中,in操作符:

    #判断值a是否在列表中,并返回True或False
    'a'ina_lis
  2. 判断值是否不在列表,not in操作符:

  3. #判断a是否不在列表中,并返回True或False
    'a'notina_list
  4. 统计指定值在列表中出现的次数,count方法:

    #返回a在列表中的出现的次数
    a_list.count('a')
  5. 查看指定值在列表中的位置,index方法:

    #返回a在列表中每一次出现的位置,默认搜索整个列表
    a_list.index('a')
    #返回a在指定切片内第一次出现的位置
    a_list.index('a',0,3)

❸ python使用in操作符时元组和数组的区别分析

在python中可以来使用in符号判断指自定的元素是否存在于列表中,但我发现元组和数组存在区别,下面是详细实验结果。
>>>
'test'
in
['replace','test']
True
>>>
'test'
in
('replace','test')
True
>>>
'test'
in
['test/codes','replace']
False
>>>
'test'
in
('test/codes','replace')
False
>>>
'test'
in
['test/codes']
False
>>>
'test'
in
('test/codes')
True
前面5条测试都符合我们的预期,只有最后一条,将数组换成元组后,在元组中只有一个元素的时候,python居然是把元组当成了字符串处理,不知道为什么会有这样的处理方式,但开发的时候却要注意,只用in语句判断数组中是否存在制定元素时,最好用[]的数组,而非元组

❹ Python 如何输入一组数字存储为列表 用for in将列表中元素加总

最后那个if-return 语句, 应该跟for是并列的 你把它写到for循环里头了, 因此循环只循环了第一个元素就返回了

❺ Python中列表的方法有什么

Python中的列表内建了许多方法。在下文中,使用“L”代表一个列表,使用“x”代表方法的参数,以便说明列表的使用方法。

1 append()方法

列表的append()方法用于将一个项添加到列表的末尾,L.append(x)等价于L[len(L):] = [x]。

例如,使用append()方法分别将'cow'和'elephant'添加到animals列表的末尾:

  • >>>animals=['cat','dog','fish','dog']

  • >>>animals.append('cow')#等价于animals[4:]=['cow']

  • >>>animals

  • ['cat','dog','fish','dog','cow']

  • >>>animals.append('elephant')#等价于animals[5:]=['elephant']

  • >>>animals

  • ['cat','dog','fish','dog','cow','elephant']

  • 2 ()方法

    列表的()方法用于将一个项插入指定索引的前一个位置。L.(0, x)是将x插入列表的最前面,L.(len(L)), x)等价于L.append(x)。

    例如,使用()方法分别将'cow'和'elephant'插入animals列表:

  • >>>animals=['cat','dog','fish','dog']

  • >>>animals.(0,'cow')

  • >>>animals

  • ['cow','cat','dog','fish','dog']

  • >>>animals.(3,'elephant')

  • >>>animals

  • ['cow','cat','dog','elephant','fish','dog']

  • 3 extend()方法

    列表的extend()方法用于将可迭代对象的所有项追加到列表中。L.extend(iterable)等价于L[len(L):] = iterable。extend()和append()方法的区别是,extend()方法会将可迭代对象“展开”。

    例如,分别使用append()方法和extend()方法在animals列表后面追加一个包含'cow'和'elephant'的列表:

  • >>>animals=['cat','dog','fish','dog']

  • >>>animals.append(['cow','elephant'])#此处append()参数是一个列表

  • >>>animals

  • ['cat','dog','fish','dog',['cow','elephant']]

  • >>>animals=['cat','dog','fish','dog']

  • >>>animals.extend(['cow','elephant'])#此处extend()参数也是一个列表

  • >>>animals

  • ['cat','dog','fish','dog','cow','elephant']

  • 4 remove()方法

    列表的remove()方法用于移除列表中指定值的项。L.remove(x)移除列表中第一个值为x的项。如果没有值为x的项,那么会抛出ValueError异常。

    例如,使用remove()方法移除animals列表中值为'dog'的项:

  • >>>animals=['cat','dog','fish','dog']

  • >>>animals.remove('dog')

  • >>>animals

  • ['cat','fish','dog']

  • >>>animals.remove('dog')

  • >>>animals

  • ['cat','fish']

  • >>>animals.remove('dog')

  • Traceback(mostrecentcalllast):

  • File"",line1,in

  • ValueError:list.remove(x):xnotinlist

  • 5 pop()方法

    列表的pop()方法用于移除列表中指定位置的项,并返回它。如果没有指定位置,那么L.pop()移除并返回列表的最后一项。

    例如,使用pop()方法移除animals列表中指定位置的项:

  • >>>animals=['cat','dog','fish','dog']

  • >>>animals.pop()

  • 'dog'

  • >>>animals

  • ['cat','dog','fish']

  • >>>animals.pop(2)

  • 'fish'

  • >>>animals

  • ['cat','dog']

  • 在调用前面的列表方法后,并没有打印任何值,而pop()方法打印了“弹出”的值。包括append()、()、pop()在内的方法都是“原地操作”。原地操作(又称为就地操作)的方法只是修改了列表本身,并不返回修改后的列表。

    在类型转换时使用的int()函数,str()函数都有返回值:

  • >>>number=123

  • >>>mystring=str(number)#将返回值赋给变量mystring

  • >>>mystring

  • '123'

  • 但是在使用“原地操作”时,大部分则不会有返回值,包括pop()方法也只是返回了被“弹出”的值,并没有返回修改后的列表:

  • >>>animals=['cat','dog','fish','dog']

  • >>>new_animals=animals.append('cow')

  • >>>print(new_animals)

  • None

关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。

❻ 在一个有20000多个项的python列表中用in判断一个字符串是否在其中大概要多长时间

之前筛过4万人的身份证号。1个人只需要一秒钟。
这个速度应该差不离。

❼ python如何将一个全部为int的列表,转化为全部为str的列表

解决方法一:

a=[1,2,3,4,5]

b=[str(i)foriina]

直接用List Comprehension来把每个元素转换成str。

解决方法二:

>>> L = [1,2,3,4,5]

>>> map(str, L)

['1', '2', '3', '4', '5']

(7)python列表in方法扩展阅读:

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。

因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

❽ 用python处理两个列表 list1=[1,2,3,4] list2=[a,b,c,d] 变成list3 = [[1,a],[2,b],[3,c],[3,d]]

>>>l1=[1,2,3,4]
>>>l2=['a','b','c','d']
>>>[[x,y]fori,xinenumerate(l1)foryinl2[i]]
[[1,'a'],[2,'b'],[3,'c'],[4,'d']]
>>>

这种 必须 len(l1) == len(l2)

❾ python中str.find和 in list的区别使用

在一复个str中查找特定的制字符串,使用string1.find(substring)的语法,这种查找时一种模糊查找;
但是在一个list中,如果判断是否包含某个项目,是一个绝对的相等的比较,空格都需要匹配;

所以使用查找匹配时可以采用的方法是:
1.将list转化为str之后模糊匹配:

比如 if str(list1).find(substring) != -1

2.将list中的所有的字符串都去掉特殊字符以及空格;
比如:
for item in list1:
item.replace(' ','')
再用if substring in list1: