『壹』 在python中的多行列表中,如何取自己想要的行數
摘要 firstKey = "#02textline2"
『貳』 python的列表,有沒有查找的功能
Python中是有查找功能的,四種方式:in、not in、count、index,後兩種方式是列表的方法,下面以a_list = ['a','b','c','hello'],為例作介紹:
判斷值是否在列表中,in操作符:
#判斷值a是否在列表中,並返回True或False
'a'ina_lis
判斷值是否不在列表,not in操作符:
#判斷a是否不在列表中,並返回True或False
'a'notina_list
統計指定值在列表中出現的次數,count方法:
#返回a在列表中的出現的次數
a_list.count('a')
查看指定值在列表中的位置,index方法:
#返回a在列表中每一次出現的位置,默認搜索整個列表
a_list.index('a')
#返回a在指定切片內第一次出現的位置
a_list.index('a',0,3)
『叄』 python怎麼用列表查詢列表多個元素並輸出後一位,要怎麼寫
你這個問題我不是回答過一次嗎。。。
x = [0,1,3,5,6,7,33,39,49,51,1,3,5,61,31,44,43,4,45,30,50,41]
y = [1,3,5]
#進行暴力匹配:
for i in range(len(x)): #從第 i 個數字開始匹配
j = 0 #從 y 的第 j 項開始匹配
isSame = True #用於判斷是否匹配成功
for j in range(len(y)): #遍歷 y[j] 匹配 x[i+j]
if i+j >= len(x): #如果超出x的上限則使用False
isSame = False
break
if x[i+j] != y[j]: #如果 x[i+j] 與 y[j] 不相等則使用False
isSame = False
break
if isSame: #如果兩者完全匹配
if i+j+1 < len(x): #防止匹配出現在末尾導致的超出界限
print(x[i+j+1]) #輸出
『肆』 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的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
『伍』 python + django 多表聯合查詢方法求教
先讓我們回憶一下在第五章里的關於書本(book)的數據模型:1fromdjango.dbimportmodelsclassPublisher(models.Model):name=models.CharField(max_length=30)address=models.CharField(max_length=50)city=models.CharField(max_length=60)state_province=models.CharField(max_length=30)country=models.CharField(max_length=50)website=models.URLField()def__unicode__(self):returnself.nameclassAuthor(models.Model):first_name=models.CharField(max_length=30)last_name=models.CharField(max_length=40)email=models.EmailField()def__unicode__(self):returnu'%s%s'%(self.first_name,self.last_name)classBook(models.Model):title=models.CharField(max_length=100)authors=models.ManyToManyField(Author)publisher=models.ForeignKey(Publisher)publication_date=models.DateField()def__unicode__(self):returnself.title如我們在第5章的講解,獲取資料庫對象的特定欄位的值只需直接使用屬性。例如,要確定ID為50的書本的標題,我們這樣做:>>>frommysite.books.modelsimportBook>>>b=Book.objects.get(id=50)>>>b.titleu'TheDjangoBook'但是,在之前有一件我們沒提及到的是表現為ForeignKey或ManyToManyField的關聯對象欄位,它們的作用稍有不同。訪問外鍵(ForeignKey)值當你獲取一個ForeignKey欄位時,你會得到相關的數據模型對象。例如:>>>b=Book.objects.get(id=50)>>>b.publisher>>>b.publisher.websiteu'http://www.apress.com/'對於用``ForeignKey``來定義的關系來說,在關系的另一端也能反向的追溯回來,只不過由於不對稱性的關系而稍有不同。通過一個``publisher``對象,直接獲取books,用publisher.book_set.all(),如下:>>>p=Publisher.objects.get(name='ApressPublishing')>>>p.book_set.all()[,,]實際上,book_set只是一個QuerySet(參考第5章的介紹),所以它可以像QuerySet一樣,能實現數據過濾和分切,例如:1>>>p=Publisher.objects.get(name='ApressPublishing')>>>p.book_set.filter(name__icontains='django')[,]屬性名稱book_set是由模型名稱的小寫(如book)加_set組成的。訪問多對多值(Many-to-ManyValues)多對多和外鍵工作方式相同,只不過我們處理的是QuerySet而不是模型實例。例如,這里是如何查看書籍的作者:>>>b=Book.objects.get(id=50)>>>b.authors.all()[,]>>>b.authors.filter(first_name='Adrian')[]>>>b.authors.filter(first_name='Adam')[]反向查詢也可以。要查看一個作者的所有書籍,使用author.book_set,就如這樣:>>>a=Author.objects.get(first_name='Adrian',last_name='Holovaty')>>>a.book_set.all()[,]這里,就像使用ForeignKey欄位一樣,屬性名book_set是在數據模型(model)名後追加_set。更改資料庫模式(DatabaseSchema)3在我們在第5章介紹syncdb這個命令時,我們注意到syncdb僅僅創建資料庫里還沒有的表,它並不對你數據模型的修改進行同步,也不處理數據模型的刪除。如果你新增或修改數據模型里的欄位,或是刪除了一個數據模型,你需要手動在資料庫里進行相應的修改。這段將解釋了具體怎麼做:當處理模型修改的時候,將Django的資料庫層的工作流程銘記於心是很重要的。如果模型包含一個未曾在資料庫里建立的欄位,Django會報出錯信息。當你第一次用Django的資料庫API請求表中不存在的欄位時會導致錯誤(就是說,它會在運行時出錯,而不是編譯時)。3Django不關心資料庫表中是否存在未在模型中定義的列。Django不關心資料庫中是否存在未被模型表示的表格。1改變模型的模式架構意味著需要按照順序更改Python代碼和資料庫。添加欄位1當要向一個產品設置表(或者說是model)添加一個欄位的時候,要使用的技巧是利用Django不關心表裡是否包含model里所沒有的列的特性。策略就是現在資料庫里加入欄位,然後同步Django的模型以包含新欄位。3然而這里有一個雞生蛋蛋生雞的問題,由於要想了解新增列的SQL語句,你需要使用Django的manage.pysqlall命令進行查看,而這又需要欄位已經在模型里存在了。(注意:你並不是非得使用與Django相同的SQL語句創建新的欄位,但是這樣做確實是一個好主意,它能讓一切都保持同步。)3這個雞-蛋的問題的解決方法是在開發者環境里而不是發布環境里實現這個變化。(你正使用的是測試/開發環境,對吧?)下面是具體的實施步驟。首先,進入開發環境(也就是說,不是在發布環境里):在你的模型里添加欄位。運行manage.pysqlall[yourapp]來測試模型新的CREATETABLE語句。注意為新欄位的列定義。開啟你的資料庫的交互命令界面(比如,psql或mysql,或者可以使用manage.pydbshell)。執行ALTERTABLE語句來添加新列。使用Python的manage.pyshell,通過導入模型和選中表單(例如,MyModel.objects.all()[:5])來驗證新的欄位是否被正確的添加,如果一切順利,所有的語句都不會報錯。3然後在你的產品伺服器上再實施一遍這些步驟。啟動資料庫的交互界面。5執行在開發環境步驟中,第三步的ALTERTABLE語句。將新的欄位加入到模型中。如果你使用了某種版本控制工具,並且在第一步中,已經提交了你在開發環境上的修改,現在,可以在生產環境中更新你的代碼了(例如,如果你使用Subversion,執行svnupdate。重新啟動Webserver,使修改生效。讓我們實踐下,比如添加一個num_pages欄位到第五章中Book模型。首先,我們會把開發環境中的模型改成如下形式:classBook(models.Model):title=models.CharField(max_length=100)authors=models.ManyToManyField(Author)publisher=models.ForeignKey(Publisher)publication_date=models.DateField()**num_pages=models.IntegerField(blank=True,null=True)**def__unicode__(self):returnself.title
『陸』 Python列表中的元素查詢
tList=[["abc","123"],["def","456"],["ghi","789"]]
foreachintList:
ifeach[0]=='abc':
printeach
『柒』 python中的列表中常用的方法有哪些,分別是什麼作用
Python列表定義:按特定順序排列的元素組成。在Python中,用方括弧[]來表示列表,並用逗號來分隔其中的元素。Python列表是編程中很常見的數據類型 。
列表是一種可修改的集合類型,其元素可以是數字、string等基本類型,也可以是列表、元組、字典等集合對象,甚至可以是自定義的類型。其定義方式如下:>>> nums = [1,2,3,4]>>> type(nums)>>> print nums[1, 2, 3, 4]>>> strs = ["hello","world"]>>> print strs['hello', 'world']>>> lst = [1,"hello",False,nums,strs]>>> type(lst)>>> print lst[1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]
下面我們來看一下列表中有哪些常見的方法:count():統計某個元素在列表中出現的次數。index():從列表中找出某個值第一個匹配項的索引位置。append():在列表末尾添加新對象。extend():在列表末尾一次性追加另一個序列的多個值。insert():在列表的指定位置插入對象。pop():移除列表中的一個元素(默認最後一個元素),並且返回該元素的值。remove():移除列表中某個值的第一個匹配項。reverse():將列表中的元素反向,不重新拷貝一個列表。reversed():將列表中的元素反向,重新拷貝一個列表。sort():將列表中的元素排序,不重新拷貝一個列表。sortd():將列表中的元素排序,重新拷貝一個列表。():淺拷貝,只是給原來的列表貼上了一個新標簽,對於一個復雜對象的子對象並不會完全復制,如果有子列表,改變原來的值,新的拷貝對象也會改變。deep():深拷貝,將復雜對象的每一層復制一個單獨的個體出來。就是完全拷貝。常見內置函數:max()、min()、sum()、len()、all()、any()、zip()、enumerate()
『捌』 在python的多行列表中,輸入100行單詞,如何表示從第一行一行一行的把他們取出來求大神示範一下
不太清楚你這是numpy 那種復雜多維的列表還是普通的列表。
如果是普通的列表可以通過for 來遍歷。多維的等就得看情況再遍歷了
lines=["line1","line2","line3"]
forlinlines:
printl
『玖』 Python 列表查詢 求!!
import re
with open('d:\test.txt','r') as f:
....content = f.readlines()
res =[item[3] for item in [re.split(',|,',line.strip()) for line in content]]
註:你的 『,』號有半形和全形混合,所以用了re模塊的split。復制完代碼....換成縮進