python列表,python列表、元組、集合、字典、json相互轉換以及其他基礎入門

 2023-09-30 阅读 32 评论 0

摘要:列表元組轉其他 # 列表轉集合(去重) list1 = [6, 7, 7, 8, 8, 9] set(list1) # {6, 7, 8, 9}#兩個列表轉字典 list1 = ['key1','key2','key3'] list2 = ['1','2','3'] dict(zip(list1,list2)) # {'key1'

列表元組轉其他


# 列表轉集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
set(list1)
# {6, 7, 8, 9}#兩個列表轉字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
dict(zip(list1,list2))
# {'key1': '1', 'key2': '2', 'key3': '3'}#嵌套列表轉字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
# {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}# 列表、元組轉字符串
list2 = ['a', 'a', 'b']
''.join(list2)
# 'aab'tup1 = ('a', 'a', 'b')
''.join(tup1)
# 'aab'

字典轉其他

# 字典轉換為字符串
dic1 = {'a':1,'b':2}
str(dic1)
# "{'a': 1, 'b': 2}"# 字典key和value互轉
dic2 = {'a': 1, 'b': 2, 'c': 3}
{value:key for key, value in a_dict.items()}
# {1: 'a', 2: 'b', 3: 'c'}

字符串轉其他

# 字符串轉列表
s = 'aabbcc'
list(s)
# ['a', 'a', 'b', 'b', 'c', 'c']# 字符串轉元組
tuple(s)
# ('a', 'a', 'b', 'b', 'c', 'c')# 字符串轉集合
set(s)
# {'a', 'b', 'c'}# 字符串轉字典
dic2 = eval("{'name':'ljq', 'age':24}")# 切分字符串
a = 'a b c'
a.split(' ')
# ['a', 'b', 'c']

JSON和字典之間相互轉化

1.首先引入json模塊

# 引入json模塊
import json

?

2.轉換

#JSON到字典轉化:
dictinfo = json.loads(json_str) # 輸出dict類型
字典到JSON轉化:
jsoninfo = json.dumps(dict) # 輸出str類型

用json把字典序列化到文件中

#寫程序最好是dump一次和load一次,可以存好幾個文件
import?json
info={'name':'Tom',
??????'age':'12',
??????'job':'work',}
f=open('file1.txt','w')
f.write(json.dumps(info))
f.close()
把字典存入文件中
1
2
3
4
5
6
info={'name':'Tom',
??????'age':'12',
??????'job':'work',}
f=open('test.txt','w')
f.write(str(info))
f.close()

?

json將字典反序化讀出來
1
2
3
4
5
6
import?json
f=open('file1.txt','r')
data=json.loads(f.read())
f.close()
print(data)
print(data['name'])

?

函數寫到文件中用Pickle,不用json序列化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import?pickle
#pickle在本語言里有Python 在Java里是不認識pickle
def?func(type):#函數
????print('in the func',type)
info?=?{'name':?'Tom',
????????'age':?'12',
????????'job':?'work',
????????'res': func ,}
f=open('file3.txt','wb')
#f.write(pickle.dumps(info))
#相等于
pickle.dump(info,f)
f.close()

?

函數反序列用Pickle,不用json序列化
1
2
3
4
5
6
7
8
9
10
11
import?pickle
def?func(type):#函數
????print('in the func',type)
????print('內容不一樣',type)#反序列的時候內容不一樣
f=open('file3.txt','rb')
#data=pickle.loads(f.read()) 這句話相等于下面
data=pickle.load(f)
f.close()
print(data)
print(data['name'])
print(data['res']('string'))



python列表,





版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/106958.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息