我刚刚启动了python,并尝试创建一个简单的线性搜索程序。
list1=[4,2,7,5,12,54,21,64,12,32]
x=int(input("Please enter a number to search for : "))
for i in list1:
if x==i:
print("We have found",x,"and it is located at index number",list1.index(i))
我的问题是,如果我将列表改为[4,2,7,5,12,54,21,64,12,2,32
如果列表的开头是另一个列表的元素,最简单的检查方法是什么(大多数是pythonic方法)?考虑以下例子:
li = [1,4,5,3,2,8]
#Should return true
startsWithSublist(li, [1,4,5])
#Should return false
startsWithSublist(list2, [1,4,3])
#Should also return false, although it is contained in the list
startsWithSublist(list2, [4,5,3])
当然,我可以迭代这些列表,但我想还有一个更
我在Python2.7工作
我试图迭代两个列表,长度不等,我想要创建一个新的列表,包含匹配的元素(相同位置的相同元素),当元素不匹配时,我需要一些文本以及错过匹配元素的位置。
list1=[1,2,3,4]
list2=[1,2,3,5,6]
这将输出匹配
match=[[b] for a, b in zip(list1, list2) if a==b]
结果:
[1,2,3]
但我不知道,在一条线上,如何标记错误的匹配:
[1,2,3,"nomatch-pos4"]
或
[1,2,3,"nomatch-pos4","nomatch-pos5"
我有两个python列表,如下所示:
A = [(1,''), (1, 'toy'),(1,''), (1, 'boy'),(1,''), (1, 'GHI'),(1,''), (1, 'LMO'),(1,'')]
B = ['ToYS', 'bOYs', 'PQR']
(注:a是一份清单。B是正常名单。)
我有这样的代码:
match = [s for _, s in A if s.upper() or
我想从重构文本字符串中的代码指令中逐字提取源代码。
下面是我第一次尝试这样做,但我想知道是否有一种更好(即更健壮、更一般或更直接)的方法。
假设我有以下rst文本作为python中的字符串:
s = '''
My title
========
Use this to square a number.
.. code:: python
def square(x):
return x**2
and here is some javascript too.
.. code:: javascript
foo = function() {
我正在寻找一个HTML页面内的重复模式。
我感兴趣的模式从前缀"Seasons“开始
同样的模式也出现在前缀之前,我对这些不感兴趣。
我尝试使用以下python代码(我将模式简化为“<a href=.+?”为了使这个问题具有可读性):
matches = re.compile('<h2>Seasons</h2>.+?(<a href=.+?</a>)+',re.DOTALL).findall(page)
for ref in matches
print ref
给定页面:
blah blah html stu
我多次调用Python函数,它返回具有以下任一项之一的列表:
1)单一条目
2)多次登录
3)空白列表
例如:
a=['aaaaa']
b=['aaaaa', 'bbbbb', 'ccccc']
c=['aaaaa']
d=['ppppp', 'aaaaa']
e=['aaaaa', 'uuuuu']
现在,我想在所有列表中找到公共字符串。对于两个清单,我可以这样做:
intercept_list=[val for val in a if val in
我想要运行一个查询,它根据两个列表中的值过滤两列。
基本上,我想模拟像这样的两个过滤器:
SELECT *
FROM my_table
WHERE customers in ("John","Peter") AND customers_numbers IN ('1','2')
但是来自客户和customers_number的值列在两个列表中。为了尝试这一点,我将编写以下代码:
list1 = ["John","Peter"]
list2 = [1,2]
query_sql = "DELETE
我想在这样的列表中找到一个特定的元素:
my_list.find { |e| e == 'find this' }
我知道在Python中我可以做到:
[e for e in my_list if e == 'find this']
但是这会返回一个列表,而不是我想要的元素。
我知道如何通过遍历列表来做到这一点,但我想知道是否有更简洁的方法。
我在Python中有两个字符串列表。其中一个是所需字符串的列表,另一个是更大的不同字符串列表。例如:
desired = ["cat52", "dog64"]
buf = ["horse101", "elephant5", "dog64", "mouse90", "cat52"]
对于第二个列表是否包含第一个列表中的所有字符串,我需要一个True/False。到目前为止我是这样做的:
if all(element in buf for element in desired)
但是,现
我有以下列表 l=['web','python'] 和以下字符串 st='python, C, something, find' 我想检查列表中是否有任何元素在字符串中 我试着用 any(x in l for x in st) 然而,它给出了false python似乎无法识别字符串中的元素,有没有一种方法可以检查从列表到字符串的元素是否匹配。我使用for循环成功地做到了这一点,并将字符串拆分成一个列表,然而,这对于实际数据来说效率不高,因为它包含很长的列表和字符串。需要一些有效的东西。谢谢
可能重复:
我有以下代码:
for i in [i for i,x in enumerate(catdate) if x == set(NNSRCfile['datetimenew']).intersection(catdate)]:
print i
我试图为上面的两个组件找到交集的索引。两者都是冗长的列表,有几个共同点。交集部分工作得很好;然而,for循环似乎没有输出任何内容。(没有印刷的东西)
Python输出没有错误,当我在IPython中运行代码时,我注意到我等价于列表"catdate“中的最后一个元素,而不是列出与交集值等效的"cat