Python:关于有序序列元素查找

1 引言

python list 查找元素位置 python列表查找元素位置python list 查找元素位置 python列表查找元素位置


python list 查找元素位置 python列表查找元素位置


有序序列元素查找是python算法中典型且重要的技能,通过对有序序列元素查找的学习,我们可以更快的解决关于有序序列查找的相关问题,也可以更好的体现出我们的解题思维逻辑能力和提高代码水平。

查找元素。一般地,我们可以用for循环进行遍历,再用if语句进行查找。相对于for循环,二分法更加方便。二分法思想 对于已按照关键字排序的序列,经过一次比较后,可将序列分割成两部分,然后只在有可能包含待查找元素的一部分中继续查找,并根据试探结果继续分割,逐步缩小查找范围,直至找到或找不到为止。

2 问题描述

示例:如何查找有序序列中某一的元素

输入:[1,2,3,4,5,6,……,100] 61 #查找的元素

输出:61

3 算法描述

在这里我们主要使用二分法查找。二分法主要是与给定的一列序数中的中位数进行比较,然后再选取范围进行查找。如在[1,2,3,4,……,100]中查找61。先取1—100之间的中位数50进行比较,因为50比61小,所以排除1—50之间的数,再用51—100之间的中位数75进行比较,因为75大于61‘所以排除75—100的元素。然后反复地用这个方法排除多余的元素,直到剩下需要查找的元素(61)。

4 结语

有序序列中元素的查找有两种方法:一是用for循环进行遍历查找。二是二分法进行list1 = ["A", "B", "C", "A", "D", "E", "A"]查找。对于会执行很多次的查找时采用二分法比较方便。

附件

def my_func(my_list, searched_number): #二分法

start_number_index = 0

end_number_index = len(my_list) - 1

mid_number_index = (start_number_index = end_number_index) // 2

mid_number = my_list[mid_number_index]

if mid_number < searched_number:

start_number_index = mid_number_indexn+ 1

elif mid_number > searched_number:

end_number_index = mid_number_index - 1

return '找到了需要查找的数字%dreturn [i for (i,v) in enumerate(L) if v==f]'% searched_number

my_list = list(range(1,101))

searched_number = 61

print(my_func(my_list, mid_number))# 结果 找到了需要查找的数字 61

python list找出一个元素的位置(重复元素怎么分别找出位置)

str2 = "exam"

几种方式的回答:

for index, element in enumerate(list1):

1)

print(''15,'想找出里面有重复数据的索引值',''15)

print('列表中第1次出现的位置 = ',listA.index(76))

find = 'c'

print('重复元素出现的位置索引分别是 = ',[i for i,v in enumerate(a_list) if v==find])

-----------------------------------------------------

3)### 求某个元素重复的索引值,函数方式表述如下:

def unique_index(L,f):

"""L表示列表, i表示索引值,v表示values,f表示要查找的元素 """

print('索引值 = ',unique_index(a_list,'c'))

索引值 = [2, 3, 5]

4)还缺一种,列出多个元素重复的索引值,以后再补充

......

def unique_index(L, e):

return [j for (i, j) in enumerate(L) if i == e]

这样就可以了。enumerate是将可迭代的对象与对应的索引一起进行迭代的函数,其实蛮实用的。

python怎么获取list的某个元素的位置

2)

几种方式的回答:

1)

print(''15,'想找出里面有重复数据的索引值',''15)

print('列表中第1次出现的位置 = ',listA.index(76))

find = 'c'

print('重复元素出现的位置索引分别是 = ',[i for i,v in enumerate(a_list) if v==find])

-----------------------------------------------------

3)### 求某个元素重复的索引值,函数方式表述如下:

def unique_index(L,f):

"""L表示列表, i表示索引值,v表示values,f表示要查找的元素 """

索引值 = [2, 3除了直接查找元素索引位置,我们还可对列表中元素出现位置进行统计,使用函数count即可。在函数count中指定索引内容,然后就返回出现次数, 5]

4)还缺一种,列出多个元素重复的索引值,以后再补充

......

python+找出list1中所有出现“A”字符串的位置?

listA = [100, 94, 88, 82, 76, 70, 64, 58, 52, 46, 40, 34,76]

# a_list = ['a','b','c','c','d','c']设list1是一个字符串列表

# 定义一个空列表来存储出现"A"的位置

itions = []

# 遍历list1,使用enumerate函数获取索引和元素

# 如果元素是"A",则将索引添加到itions列表中

# 打印itions列表

print(itions)

index在python中的用法

运行结果:

语法:list.index(x[, start[, end]])。index() 函数用于从列表中找出某个值个匹配项的索引位置。

>>>a_list.index(find)

x-- 查找的对象。

start-- 可选,查找的起始位置。

end-- 可选,查找的结束位置。

返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。

实例代码:

str1 = "this is string example....wow!!!"

print(str1.index(str2))

如果要对数据库表中一列或多列的值进行排序,使用索引可快速访问数据库表中的特定信息。例如想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。如果没有索引,必须遍历整个表,就会很麻烦。在python中,也有对列表做索引的函数,就是index() 函数。

excel中的 INDEX

INDEX(array, row_num, [column_num])

返回表格或数组中的元素值,此元素由行号和列号的索引值给定。当函数 INDEX 的个参数为数组常量时,使用数组形式。

Array必需。单元格区域或数组常量。

如果数组只包含一行或一列,则相对应的参数 row_num 或 column_num 为可选参数。

如果数组有多行和多列,但只使用 row_num 或 column_num,函数 INDEX 返回数组中的整行或整列,且返回值也为数组。

Row_num必需。选择数组中的某行,函数从该行返回数值。如果省略 row_num,则必须有 column_num。

Column_num可选。选择数组中的某列,函数从该列返回数值。如果省略 column_num,则必须有 row_num。

python中index的用法

mod1 全列表查询元素位置

在Python中,index()方法是一个字符串和列表等数据类型常用的内置方法,用于查找指定元素在字符串或列表中首次出现的索引位置。

详细

1. 字符串中的index()方法

在Python的字符串中,index()方法用于查找子字符串首次出现的位置,并返回该位置的索引值。如果未找到子字符串,则会引发ValueError异常。该方法的基本语法如下:

str.index(sub[, start[, end]])

其中,sub是要查找的子字符串,start和end是可选参数,用于指定查找的起始和结束位置。例如:

python

s = "Hello, world!"

print(s.index("world")) # 输出:7

在上面的例子中,我们查找子字符串"world"在字符串s中首次出现的位置,并返回其索引值7。

2. 列表中的index()方法

在Python的列表中,index()方法用于查找指定元素在列表中首次出现的位置,并返回该位置的索引值。如果列表中不存在该元素,则会引发ValueError异常。该方法的基本语法如下:

list.index(x[, start[, end]])

其中,x是要查找的元素,start和end是可选参数,用于指定查找的起始和结束位置。例如:

python

fruits =else: ["apple", "banana", "cherry", "date", "elderberry"]

print(fruits.index("cherry")) # 输出:2

在上面的例子中,我们查找元素"cherry"在列表fruits中首次出现的位置,并返回其索引值2。

怎么查找python列表中元素的位置

list的index(object)返回 元素次出现的位置

如a = ["ab","cd",1,3]

print a.index(1)

输出就是2

1、在python语言中,查找列表list中某元素次出现的位置,可以times= namelist.count(索引内容)使用列表list的index方法,如:

>>>a_list = ['a','b','c','c','d','c'] #a_list为列表的名字

>>>find='b' #find为查找的值

1 # 1为 'b'在列表中次出现的位置

2、找出该元素的在列表中所有出现的位置,可以通过一个简单的循环语句来实现

>>>[i for i,v in enumerate(a_list) if v==find]

[2, 3,while start_number_index <= end_number_index: 5]

python怎么获取list的某个元素的位置

>>>find = 'c'

列表元素位置查找最基础的方式就是全列表查询,在python中使用index可对列表进行对应的作,指定查找的元素内容即可。但注意返回的是查找到的元素索引

print('索引值 = ',unique_index(a_list,'c'))

指令形式

index = namelist.index(索引内容)

请点击输入描述

mod2 指定列表起始位置查询元素位置

除了全列表查询我们还可以指定列表的起始位置查询,在python中同样使用index可对列表进行对应的作,指定查找的元素内容即可。但注意返回的是和全列表查询同样是查找到的元素索引

指令形式

index = namelist.index(索引内容, index_start)

请点击输入描述

mod3 指定列表起止位置查询元素位置

我们当然也可以指定列表的起止位置查询,在python中同样使用index可对列表进行对应的作,指定查找的元素内容即可。但注意返回的是列表起止元素内的个元素索引

指令形式

index = namelist.index(索引内容, index_start, index_end)

请点击输入描述

mod4 查询内容需要存在

使用index关键字查找内容时,一定要是列表中的内容才可正常运行,否则将报错中断程序

请点击输入描述

mod5 查询元素出现次数

请点击输入描述