python轉為list
A. python裡面如何實現tuple和list的轉換
list(列表):list是一種有序的集合,可以隨時添加和刪除其中的元素。
tuple(元祖):tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:
tuple轉list
python3下運行
list和tuple是Python內置的有序集合,一個可變,一個不可變。
B. python字典轉換為list後選中最後一個值
設為星標,第一時間獲取更多干貨
在python中,數據類型主要由以下幾類組成:
列表(list): [a, b]
元組(tuple):(a, b, )
集合(set): {a, b}
字典(Dictonary): {a: 『aaa』, b: 『bbb』}
1. 列表
列表(List)
列表是Python中使用最頻繁的數據類型,專門用於存儲一串信息
列表是一種有序和可更改的集合。允許重復的元素
列表使用[]定義,元素之間使用,分隔。例:[1,2, ...]
列表的索引從位置0開始
索引就是元素在列表中的位置編號,索引又可以被稱為下標
注意:從列表中取值時,如果超過索引范圍,程序會報錯
雖然列表可以存儲不同類型元素,但是曰常中一般存儲相同類型的元素
如何使用列表
列表[索引]: 從列表中取值,獲取指定索引的元素
列表[開始索引:結束索引:步長]:
返回從開始索引到結束索引-1的列表,如果設置步長,按步長跳過元素
len(列表): 獲取列表的長度
元素 in 列表: 判斷元素是否在列表中
列表.count(元素): 返回指定元素在列表中的個數
列表.index(元素): 返回指定元素在列表中第一次出現的索引,查找失敗時報錯
列表.sort(): 從小到大排序,括弧內增加reverse=True ,則是從大到小排序
列表_reverse(): 逆序(反轉)列表
列表.clear(): 清空列表
Eg:
# 0 init listL = [1, 2, 3, 4, 5, 7, 6]# 1 index valueL[1] # --> 2# 2 stepL[2: 5: 2] # --> [3, 5]# 3 lengthlen(L) # --> 6# 4 in6 in L # ---> True8 in L # ---> False# 5 countL.count(1) # ---> 1# 6 indexL.index(2) # ---> 1# 7 sortL.sort() # ---> [1, 2, 3, 4, 5, 6, 7] 注意:會改變自己 返回None # 8 reverseL.reverse() # 由於第7步改變了自己, 這里變成[7, 6, 5, 4, 3, 2, 1] 會改變自己 返回None # 9. clearL.clear() # ---> []
列表特有的一些使用方法
L = [1, 2, 3, 4, 5]
列表[索引]=元素:修改指定索引的元素,索引不存在會報錯
L[2] = 7 L # ---> [1, 2, 7, 4, 5]
列表 . append(元素):在列表的末尾追加元素
L.append(6)L # ---> [1, 2, 7, 4, 5, 6]
列表 . insert(索引,元素):在指定索引位置插入元素,索引不存在時在末尾追加
L.insert(3, 9)L # ---> [1, 2, 7, 4, 9, 5, 6]
列表.pop(索引):
刪除並返回指定索引的元素,未指定索引時刪除最後一項,索引不存在時報錯
L.pop(3) # 4, L 變成[1, 2, 7, 9, 5, 6]L.pop() # 6, L 變成[1, 2, 7, 9, 5]
列表 . remove(元素):刪除列表中第一個出現的指定元素,查找失敗時報錯
L.remove(2) # L 變成[1, 7, 9, 5]
del 列表[索引]: 刪除指定索引位置的元素,索引不存在時報錯
del L[3] # L 變成[1, 7, 9]
列表l.extend(列表2): 將列表2拼接在列表1後
L.extend([8, 9, 10]) L # L 變成[1, 7, 9, 8, 9, 10], 等價於 L = L + [8, 9, 10]
2. 元組
元組(Tuple)
元組是一種有序且不可更改的集合, 允許重復的成員
元組與列表的類似,不同之處在於元組元素不可修改
元組使用()定義,元素之間使用,分隔。例:(a, b, …)
元組中只包含一個元素時,可以省略(),只需要在元素後加逗號
init_tuple = 100,type(init_tuple) # ---> tuple# ---- 另外寫法init_tuple = (100, ) # 逗號一定要加
注意:如果一個非元組類型的數據突然變成元組,檢查是不是誤加了逗號
集合與元組的通用方法
元組[索引]:從元組中取值,獲取指定索弓丨的元素
元組[開始索引:結束索引:步長]:
返回從開始索引到結束索引-1的元組,如果設置步長,按步長跳過元素
len(元組):獲取元組的長度
元素in元組:判斷元素是否在元組中
元組.count(元素):返回指定元素在元組中的個數
元組.index(元素):返回指定元素在元組中第一次出現的索引,查找失敗會報錯
元組和列表之間的轉換
list(元組):將元組轉換成列表
tuple(列表): 將列表轉換成元組
3. 集合
集合(Set)
集合是一種無序和無索引的序列。沒有重復的元素
集合會自動刪除重復的元素,一般應用於去重、交並差運算場景
集合使用{}定義,元素之間使用,分隔。例:{a, b, …}
集合與列表的通用方法
len(集合):獲取集合的長度
元素in集合:判斷元素是否在集合中
集合.clear(): 清空集合
集合特有的使用方法
s = {1, 2, 3}
集合.add(元素):將元素添加到集合中
s.add(5) # ---> {1, 2, 3, 5}
集合1.update(集合2): 添加新的元素或集合到當前集合中
s.add{4, 5, 6} # ---> {1, 2, 3, 5, 4, 6}
集合.remove(元素): 刪除指定的元素,元素不存在時報錯
s.remove(4) # ----> {1, 2, 3, 5, 6}
集合1&集合2 : 交集,獲得由集合1和集合2中都存在的元素組成的新集合
s & {3, 4, 5} # ---> {3, 5}
集合1|集合2: 並集,獲得集合1和集合2中所有元素的新集合
s | {8, 9, 10} # ---> {1, 2, 3, 5, 6, 8, 9, 10}
集合1 - 集合2 : 差集,獲得在集合1中存在但是在集合2中不存在的元素集合
s - {9, 10} # ---> {1, 2, 3, 5, 6, 8}
集合和列表之間的轉換(也可以和元組進行轉換,方式類似)
list(集合):將集合轉換成列表
set(列表):將列表轉換成集合
C. python如何把txt中的數字提取出來放到list中,要求格式是int,而不是原始的str
txt裡面文件信息 文件名 1.txt
代碼如下:
with open("1.txt","r") as f:
t1 = f.readline()
#t2 = f.readline() #第二行 可以使用循環 或者讀取全部
txt = t1.strip().replace(" ",",") #去除前後多餘空格,替換中間空格為逗號
text = eval(txt) #可以直接轉列表
lit = list(text)
print(text,lit, type(t1))
D. python 讀取文件轉換為列表
python 讀取文本文件內容轉化為python的list列表,案例如下:
1、目的
讀取cal.txt內容,然後通過python腳本轉化為list內容
2、文件內容
cal.txt
12
13
14
15
16
3、Python編寫cal.py腳本內容
#!/usr/bin/python
#coding=UFT-8
result=[]
fd=file("cal.txt","r")
forlineinfd.readlines():
result.append(list(map(int,line.split(','))))
print(result)
foriteminresult:
foritinitem:
printit
4、執行轉換為List列表結果內容:
[[12],[13],[14],[15],[16]]
12
13
14
15
16
E. python中,讀取文件,希望轉化為列表的格式,出現了問題
defloadDataSet(filename):
dataMat=[]
fr=open(filename)
forlineinfr.readlines():
line=line.replace('"','')
curLine=line.strip().split(' ')
aa=[float(i)foriincurLine]
dataMat.append(aa)
returndataMat
dataMat=loadDataSet('test.txt')
print(dataMat)
F. 怎麼用python語言將字元串轉換成list
list = list(str)
G. Python3 字元串str和列表list轉換
>>> str1 = "abcdefg"
>>> list1 = list(str1)
>>> print(list1)
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> str4 = "username=admin&passsword=123456"
>>> list4 = str4.split("&")
>>> print(type(list4))
<class 'list'>
>>> print(list4)
['username=admin', 'passsword=123456']
如果我們要對多個字元進行分割,那麼可以使用內置模塊 re.split() 方法。
>>> str5 = "username=admin&passsword=123456"
>>> import re
>>> list5 = re.split("&|=", str5)
>>> print(type(list5))
<class 'list'>
>>> print(list5)
['username', 'admin', 'passsword', '123456']
>>> import json
>>> str3 = '["aaa", "bbb", "ccc", "ddd"]'
>>> list3 = json.loads(str3)
>>> print(type(list3))
<class 'list'>
>>> print(list3)
['aaa', 'bbb', 'ccc', 'ddd']
>>> str2 = "['aaa', 'bbb', 'ccc', 'ddd']"
>>> list2 = eval(str2)
>>> print(type(list2))
<class 'list'>
>>> print(list2)
['aaa', 'bbb', 'ccc', 'ddd']
針對str2,json.loads()方法為何失靈了?
因為 json.loads() 將json格式字元串轉換為python對象,而按 json 的標准規范應該使用雙引號,如果使用單引號會導致報錯。
# 注意,轉換之後,雙引號會變為單引號
>>> list1 = ["aaa", 123, 'ccc', True]
>>> str1 = str(list1)
>>> print(type(str1))
<class 'str'>
>>> print(str1)
['aaa', 123, 'ccc', True]
>>> list3 = ['username=admin', 'passsword=123456']
>>> str3 = "&".join(list3)
>>> print(type(str3))
<class 'str'>
>>> print(str3)
username=admin&passsword=123456
# 這里列表中使用了單引號
>>> list4 = ['username=admin', 'passsword=123456']
>>> import json
>>> str4 = json.mps(list4)
>>> print(type(str4))
<class 'str'>
>>> print(str4)
["username=admin", "passsword=123456"]
Python3下字典、字元串及列表的相互轉換
H. python列表中的字元串,怎麼轉化成列表
首先我們打開JUPYTER NOTEBOOK,新建一個空白的PYTHON文檔。當然也可以用其它編譯器的。
I. python怎麼把int類型轉換成列表
python中把int類型轉換成列表的方法:首先將整數轉換為字元串;然後輸入【map((int,str(num))】命令轉換為列表即可。
首先將整數轉換為字元串,然後使用map()函數轉換:
或者使用如下方法:
推薦課程:Python 手冊
J. python3 16進制字元串、列表、字元串之間的轉換
在Python操作數據內容時,多數情況下可能遇到下面3種類型的數據處理:
hexstring 如:ƇC532145697A8B6F'
str 如:'x1Cx53x21x45x69x7Ax8Bx6F'
list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]
各種第三方模塊(如pyDes),或者自己寫的介面中,可能存在由於類型不統一需要在這3種數據中來回切換的情況。
需要用到的核心的方法如下:
list() 將對象轉換為list
str() 將對象轉換為str
bytearray() 將對象轉換為bytearray
bytearray.fromhex() 將對象從hexstring轉換為bytearray
binascii.b2a_hex() 將對象從str轉換為hexstring
如:[0x53, 0x21, 0x6A] -> 'x53x21x6a'
方法:list -> bytearray -> str
如:'x53x216a' -> [0x53, 0x21, 0x6A]
方法:逐個字元轉成十進制
如: [0x53, 0x21, 0x6A] -> A'
方法:list -> bytearray -> str -> hexstring
如: A' -> [0x53, 0x21, 0x6A]
方法:hexstring -> bytearray -> list
如: A' -> 'x53x21x6A'
方法:hexstring -> bytearray -> str
以上內容轉自: https://blog.csdn.net/diaoxuesong/article/details/72123415#