字符串轉爲列表list,能夠使用str.split()方法,split方法是在字符串中對指定字符進行切片,並返回一個列表,示例代碼以下:python
1git 2github 3微信 4ide 5函數 6spa 7code 8orm 9教程 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(我的博客地址): shuopython.com @WeChat Official Account(微信公衆號):猿說python @Github:www.github.com
@File:python_data.py @Time:2019/9/20 20:45
@Motto:不積跬步無以致千里,不積小流無以成江海,程序人生的精彩須要堅持不懈地積累! """
str1 = "hello word 猿說python python教程" print(str1) # 輸出字符串 print(type(str1)) # 輸出數據類型: print(len(str1)) # 輸出字符串長度
print("***"*20) # 小敲門:直接打印60個* #根據空格切片 list1 = str1.split(" ") # 對字符串中的空格(' ')進行切片,返回值是一個列表list並賦值給list1 print(list1) # 輸出列表數據 print(type(list1)) # 輸出數據類型:類型 print(len(list1)) # 輸出列表長度(列表的數據個數)
print("***"*20) # 小敲門:直接打印60個* #根據字符'p'切片 list1 = str1.split("p") # 對字符串中的'p'進行切片,返回值是一個列表list並賦值給list1 print(list1) # 輸出列表數據 print(type(list1)) # 輸出數據類型:類型 print(len(list1)) # 輸出列表長度(列表的數據個數)
print("***"*20) # 小敲門:直接打印60個* #根據字符'o'切片 list1 = str1.split("o") # 對字符串中的'o'進行切片,返回值是一個列表list並賦值給list1 print(list1) # 輸出列表數據 print(type(list1)) # 輸出數據類型:類型 print(len(list1)) # 輸出列表長度(列表的數據個數) |
輸出結果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
hello word 猿說python python教程 <class 'str'> 28 ************************************************************ ['hello', 'word', '猿說python', 'python教程'] <class 'list'> 4 ************************************************************ ['hello word 猿說', 'ython ', 'ython教程'] <class 'list'> 3 ************************************************************ ['hell', ' w', 'rd 猿說pyth', 'n pyth', 'n教程'] <class 'list'> 5 |
列表轉爲字符串須要使用」.join()方法,join()方法能夠直接將列表轉爲一個字符串,示例代碼以下:
1 2 3 4 5 6 7 8 9 10 11 |
list1 = ["hello", "word", "猿說python", "python教程"] print(list1) # 輸出字符串 print(type(list1)) # 輸出數據類型: print(len(list1)) # 輸出字符串長度
print("***"*20) # 小敲門:直接打印60個* #根據空格切片 str1 = "".join(list1) # 對字符串中的空格(' ')進行切片,返回值是一個列表list並賦值給list1 print(str1) # 輸出列表數據 print(type(str1)) # 輸出數據類型:類型 print(len(str1)) # 輸出列表長度(列表的數據個數) |
輸出結果:
1 2 3 4 5 6 7 |
['猿說python', 'word', 'python教程', 'hello'] <class 'list'> 4 ************************************************************ 猿說pythonwordpython教程hello <class 'str'> 25 |
將字符串轉爲字典能夠經過內置函數eval()完成,對於內置函數eval()的使用,在後面的文章還會有詳細講解,今天先簡單瞭解一下:
1 2 3 4 5 6 7 8 9 10 11 12 |
# 注意單引號和雙引號的配合使用 str1 = '{"name":"zhangsan","age":18,"sing_dog":False }' print(str1) print(type(str1)) print(len(str1))
print("***"*20) # 小敲門:直接打印60個* dict1 = eval(str1) # 強制將字符串str轉爲字典dict print(dict1) print(type(dict1)) print(len(dict1)) |
輸出結果:
1 2 3 4 5 6 7 |
{"name":"zhangsan","age":18,"sing_dog":False } <class 'str'> 46 ************************************************************ {'name': 'zhangsan', 'age': 18, 'sing_dog': False} <class 'dict'> 3 |
將字典轉爲字符串能夠直接經過str()類型強制轉換便可,示例代碼以下:
1 2 3 4 5 6 7 8 9 10 11 |
dict1 = {"name":"zhangsan","age":18,"sing_dog":False } print(dict1) print(type(dict1)) print(len(dict1))
print("***"*20) # 小敲門:直接打印60個* str1 = str(dict1) # 強制將字典dict轉爲字符串str print(str1) print(type(str1)) print(len(str1)) |
輸出結果:
1 2 3 4 5 6 7 |
{'name': 'zhangsan', 'age': 18, 'sing_dog': False} <class 'dict'> 3 ************************************************************ {'name': 'zhangsan', 'age': 18, 'sing_dog': False} <class 'str'> 50 |
列表轉爲字典不能經過dict()強制轉換,可是能夠經過內置函數zip()完成,具體代碼以下:
1 2 3 4 5 6 7 |
list1 = ["hello", "word", "猿說python", "python教程"] list2 = ["a","b","c","d","e","f","g"] dict1 = dict(zip(list1,list2))
print(dict1) print(type(dict1)) print(len(dict1)) |
輸出結果:
1 2 3 |
{'hello': 'a', 'word': 'b', '猿說python': 'c', 'python教程': 'd'} <class 'dict'> 4 |
注意:內置函數zip 是將兩個列表的數據兩兩組合造成鍵值對,構成字典;若是兩個列表的長度不一致時,多出的元素在另外一個列表無匹配的元素時就不展現多出的元素。
能夠經過list()方法強制將字典中的key 或者 value轉爲列表,示例代碼以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
dict1 = {"name":"zhangsan","age":18,"sing_dog":False } # 強制將字典dict中的keys轉爲列表 list1= list(dict1.keys()) print(list1) print(type(list1)) print(len(list1))
print("***"*20) # 小敲門:直接打印60個* # 強制將字典dict中的values轉爲列表 list2 = list(dict1.values()) print(list2) print(type(list2)) print(len(list2)) |
輸出結果:
1 2 3 4 5 6 7 |
['name', 'age', 'sing_dog'] <class 'list'> 3 ************************************************************ ['zhangsan', 18, False] <class 'list'> 3 |
轉載請註明:猿說Python » python 字符串(str)/列表(list)/元組(tuple)/字典(dict)之間的相互轉換