① 怎麼對python中列表類型進行分組
如下,將不同的類型及值放到字典中
例如列表lst有int,list,tuple,dict,str,float等類型。
lst = [1,2,3,'54',45.0,'784','string',[1,2,3],(3,6,7),{"no1":1,"no2":2}]
#定義dict_lstype,來對列表lst進行分組
dict_lstype={}
for i in lst:
type_i = type(i)
#如果i的類型在字典中已經存在,則進行追加;如果不存在,則新增一個類型的列表
if type_i in dict_lstype:
dict_lstype[type_i].append(i)
else:
dict_lstype[type_i] = [i]
print dict_lstype
② python把一個數字列表轉化為一個數字
解決辦法有三種:
1、用join()函數,但我發現使用join函數要求列表中的元素都是字元串,所以需要將列表中的元素都轉換為字元串。
a = [1,2,3,4,5]
a = [str(i) for i in a]
b = int(''.join(a))
print(b)
2、用sum()函數求和,那就需要對每個元素的十分位和百分位或者千分位進行轉換
a = [1,2,3,4,5]
a = [i *10**index for index,i in enumerate(a[::-1])]
b = sum(a)
print(b)
3、直接將列表轉換為字元串,然後去除[],,另外還要去除空格
a = [1,2,3,4,5]
b = str(a).replace("[","").replace("]","").replace(",","").replace(" ","")
print(int(b))
(2)python把列表分為指定數量擴展閱讀
join() 方法用於把數組中的所有元素放入一個字元串。
元素是通過指定的分隔符進行分隔的。
返回值:返回一個字元串。該字元串是通過把 arrayObject 的每個元素轉換為字元串,然後把這些字元串連接起來,在兩個元素之間插入separator字元串而生成的。
例子:
在本例中,將創建一個數組,然後把它的所有元素放入一個字元串:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join())
</script>
輸出:
George,John,Thomas
③ python怎麼將列表中元素分配成三份(無需連續),列舉出所有的方案
擋板+枚舉法如何
比如5個元素分成3份,實際上就是從4個空隙裡面選兩個插進去板子就行了
對於x各元素,也就是對1~x-1進行枚舉兩個數i和j(i!=j)二重循環搞定
取的時候用列表切片就好
比如l1=l[:i], l2=l[i:j], l3=l[j:]醬紫
④ python里如何把一個list分成兩個
思考,用正則表達式,把字元串里的數字提前出來. 數字排序之後,如果第一個和最後一個相等,那麼數字部分就完全相等
參考代碼
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#python2.7
importre
deffunc(li):
nums=[]
forsinli:
s=re.findall(r'D*(d+)D*',s)
nums.append(int(s[0]))
printnums
#排序
nums.sort()
#如果排序後,第一個和最後一個相等,那麼就完全相等
ifnums[0]==nums[-1]:
printTrue,"數字完全相等"
else:
printFalse,"數字不全部相等"
test1=['2C','2S','2H']
test2=['A3C','D2S','C2H']
func(test1)
func(test2)
測試
[2,2,2]
True數字完全相等
[3,2,2]
False數字不全部相等
⑤ python列表中如何做到一個列表分割成多個列表
def groups(L1,len1):
groups=zip(*(iter(L1),)*len1)
L2=[list(i) for i in groups]
n=len(L1) % len1
L2.append(L1[-n:]) if n !=0 else L2
return L2
L1=[23,26,8,9, 'AB', 'CDEF']
print(groups(L1,3)