當前位置:首頁 » 編程語言 » python字典輸出

python字典輸出

發布時間: 2022-12-11 11:24:51

python123 Python語言程序設計 -字典翻轉輸出

讀入一個字典類型的字元串,反轉其中鍵值對輸出。

即,讀入字典key:value模式,輸出value:key模式。

用戶輸入的字典格式的字元串,如果輸入不正確,提示:輸入錯誤。

給定字典d,按照print(d)方式輸出

❷ python123根據鍵盤輸入輸出字典的值

python123根據鍵盤輸入輸出字典的值#以輸入3個值和鍵為:dic={}foriinrange(0,3):key=input("輸入建:")val=input("輸入值:")。

a={'1' : 'yi,2 2 2,3 3 3','4' : 'si, 5 5 5,6 6 6',..........}檢索到1時,讓str=『yi』、list1=['2','2','2']、list2=['3','3','3']檢索到2時,讓str=『si』、list1=['4','4','4']、list2=['5','5','5']。

python123可移植性:

python123由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。

這些平台包括linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平台。

❸ python字典如何同時輸出多個鍵值

在Python中使用字典,格式如下:
dict={ key1:value1 , key2;value2 ...}
在實際訪問字典值時的使用格式如下:
dict[key]

多鍵值
字典的多鍵值形式如下:
dict={(ke11,key12):value ,(key21,key22):value ...}
在實際訪問字典里的值時的具體形式如下所示(以第一個鍵為例):
dict[key11,key12]
或者是:
dict[(key11,key12)]
以下是實際例子:

❹ python,編寫程序,統計大小寫字母,數字及其他字元的數量,並以字典形式輸出

a = "aAsmr3idd4bgs7Dlsf9eAF"

請將a字元串的數字取出,並輸出成一個新的字元串。

請統計a字元串出現的每個字母的出現次數(忽略大小寫,a與A是同一個字母),並輸出成一個字典。 例 {'a':3,'b':1}

請去除a字元串多次出現的字母,僅留最先出現的一個,大小寫不敏感。

例 :'aAsmr3idd4bgs7Dlsf9eAF',經過去除後,輸出 'asmr3id4bg7lf9e'

a="aAsmr3idd4bgs7Dlsf9eAF"

def fun1_2(x):#1&2

x=x.lower()#大小寫轉換

num=[]

dic={}

for i in x:

if i.isdigit():#判斷如果為數字,請將a字元串的數字取出,並輸出一個新的字元串

num.append(i)

else:#2請統計a字元串出現每個字母的出現次數(忽視大小寫),並輸出一個字典。例:{'a':3,'b':1}

if i in dic:

continue

else:

dic<i>=x.count(i)

new=''.join(num)

print"the new numbers string is:"+new

print"the dictionary is:%s"%dic

fun1_2(a)

def fun3(x):

x=x.lower()

new3=[]

for i in x:

if i in new3:

continue

else:

new3.append(i)

print''.join(new3)

fun3(a)

(4)python字典輸出擴展閱讀:

printf函數使用注意事項

1、域寬

%d:按整型數據的實際長度輸出。

如果想輸出指定寬度可以指定域寬,%md--&gt;m域寬,列印出來以後,在控制台上,顯示m位;

如果要列印的數的位數如果超過我們設定m則原樣輸出;

如果要列印的數的位數如果小於設定的位數,則補空白,具體如下:

如果m為正數,則左對齊(左側補空白);

如果m為負數,則右對齊(右側補空白)。

2、轉義字元

如果想輸出字元"%",則應該在「格式控制」字元串中用連續兩個%表示。

如:printf("%f%%",1.0/3);輸出結果:0.333333%。

❺ python中如何輸出字典的中文

#coding:utf-8
dic={'張三':2,'李四':3,'王五':5}
line=None
forkeyindic:
ifline!=None:
line+=","
else:
line="{"
line+="'"+key+"':"+str(dic[key])
line+="}"
printline

❻ python 格式化輸出字典對象

data = json.mps(dic, indent=4,ensure_ascii=False, sort_keys=False,separators=(',',':'))

print(data)

sort_keys:是否按照字典排序(a-z)輸出,True代表是,False代表否。

indent=4:設置縮進格數,一般由於Linux的習慣,這里會設置為4。

separators:設置分隔符, 帶空格輸出 separators=(』, ', ': 『), 不帶空格輸出separators=(』, ', ': ')

ensure_ascii: 是否顯示ascii這個碼,默認是ture,設置為False可顯示中文

❼ python的字典為啥輸出只有一個字元

題主你好,

如果想要輸出正確的結果,for循環中被遍歷的對象要使用name.items().

-----

解釋題主代碼問題出在哪:

for t,y in name 此時相當於

for t,y in name.keys(), 換句話說相當於

for t,y in ["張三","李四","王五","萬豪"],所以在第一次遍歷給t,y賦值時,

t,y = "張三" 即t="張", y="三"

李四,王五,萬豪的賦值同張三.

=====

希望可以幫到題主, 歡迎追問.

❽ Python字典如何按鍵(1,2,3,4…)輸出,而不是(1,10,11…)

你是希望按照輸入順序輸出還是按照key或者value的排序輸出呢?


如果按照輸入順序輸可以這樣(方法一):

#通過zip方法合並兩個List為Dictionary
#遍歷會按原先的順序
keys=["b","a","c","e","d"]
values=["2","1","3","5","4"]

forkey,valueinzip(keys,values):
print(key,value)

#--OUTPUT--
#b2
#a1
#c3
#e5
#d4


如果按照輸入順序輸出還可以這樣(方法二):

importcollections
d=collections.OrderedDict()
d['a']='A'
d['b']='B'
d['c']='C'
fork,vind.items():
printk,v
#--OUTPUT--
#aA
#bB
#cC


如果按照key排序輸出要這樣:

x={1:2,3:4,4:3,2:1,0:0}
#升序
sorted_x=sorted(x.iteritems(),key=lambdax:x[0])
printsorted_x
#--OUTPUT--
#[(0,0),(1,2),(2,1),(3,4),(4,3)]
#降序
sorted_x=sorted(x.iteritems(),key=lambdax:x[0],reverse=True)
printsorted_x
#--OUTPUT--
#[(4,3),(3,4),(2,1),(1,2),(0,0)]


如果按照value排序輸出要這樣:

x={1:2,3:4,4:3,2:1,0:0}
#升序
sorted_x=sorted(x.iteritems(),key=lambdax:x[1])
printsorted_x
#--OUTPUT--
#[(0,0),(2,1),(1,2),(4,3),(3,4)]
#降序
sorted_x=sorted(x.iteritems(),key=lambdax:x[1],reverse=True)
printsorted_x
#--OUTPUT--
#[(3,4),(4,3),(1,2),(2,1),(0,0)]

❾ python字典操作函數

字典是一種通過名字或者關鍵字引用的得數據結構,其鍵可以是數字、字元串、元組,這種結構類型也稱之為映射。字典類型是Python中唯一內建的映射類型,基本的操作包括如下:

(1)len():返回字典中鍵—值對的數量;

(2)d[k]:返回關鍵字對於的值;

(3)d[k]=v:將值關聯到鍵值k上;

(4)del d[k]:刪除鍵值為k的項;

(5)key in d:鍵值key是否在d中,是返回True,否則返回False。

(6)clear函數:清除字典中的所有項

(7)函數:返回一個具有相同鍵值的新字典;deep()函數使用深復制,復制其包含所有的值,這個方法可以解決由於副本修改而使原始字典也變化的問題

(8)fromkeys函數:使用給定的鍵建立新的字典,鍵默認對應的值為None

(9)get函數:訪問字典成員

(10)has_key函數:檢查字典中是否含有給出的鍵

(11)items和iteritems函數:items將所有的字典項以列表方式返回,列表中項來自(鍵,值),iteritems與items作用相似,但是返回的是一個迭代器對象而不是列表

(12)keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器

(13)pop函數:刪除字典中對應的鍵

(14)popitem函數:移出字典中的項

(15)setdefault函數:類似於get方法,獲取與給定鍵相關聯的值,也可以在字典中不包含給定鍵的情況下設定相應的鍵值

(16)update函數:用一個字典更新另外一個字典

(17) values和itervalues函數:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由於在字典中值不是唯一的,所以列表中可以包含重復的元素

一、字典的創建

1.1 直接創建字典

d={'one':1,'two':2,'three':3}

printd

printd['two']

printd['three']

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

>>>

1.2 通過dict創建字典

# _*_ coding:utf-8 _*_

items=[('one',1),('two',2),('three',3),('four',4)]

printu'items中的內容:'

printitems

printu'利用dict創建字典,輸出字典內容:'

d=dict(items)

printd

printu'查詢字典中的內容:'

printd['one']

printd['three']

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

items中的內容:

[('one',1), ('two',2), ('three',3), ('four',4)]

利用dict創建字典,輸出字典內容:

{'four':4,'three':3,'two':2,'one':1}

查詢字典中的內容:

>>>

或者通過關鍵字創建字典

# _*_ coding:utf-8 _*_

d=dict(one=1,two=2,three=3)

printu'輸出字典內容:'

printd

printu'查詢字典中的內容:'

printd['one']

printd['three']

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

輸出字典內容:

{'three':3,'two':2,'one':1}

查詢字典中的內容:

>>>

二、字典的格式化字元串

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3,'four':4}

printd

print"three is %(three)s."%d

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'four':4,'three':3,'two':2,'one':1}

threeis3.

>>>

三、字典方法

3.1 clear函數:清除字典中的所有項

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3,'four':4}

printd

d.clear()

printd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'four':4,'three':3,'two':2,'one':1}

{}

>>>

請看下面兩個例子

3.1.1

# _*_ coding:utf-8 _*_

d={}

dd=d

d['one']=1

d['two']=2

printdd

d={}

printd

printdd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'two':2,'one':1}

{}

{'two':2,'one':1}

>>>

3.1.2

# _*_ coding:utf-8 _*_

d={}

dd=d

d['one']=1

d['two']=2

printdd

d.clear()

printd

printdd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'two':2,'one':1}

{}

{}

>>>

3.1.2與3.1.1唯一不同的是在對字典d的清空處理上,3.1.1將d關聯到一個新的空字典上,這種方式對字典dd是沒有影響的,所以在字典d被置空後,字典dd裡面的值仍舊沒有變化。但是在3.1.2中clear方法清空字典d中的內容,clear是一個原地操作的方法,使得d中的內容全部被置空,這樣dd所指向的空間也被置空。

3.2 函數:返回一個具有相同鍵值的新字典

# _*_ coding:utf-8 _*_

x={'one':1,'two':2,'three':3,'test':['a','b','c']}

printu'初始X字典:'

printx

printu'X復制到Y:'

y=x.()

printu'Y字典:'

printy

y['three']=33

printu'修改Y中的值,觀察輸出:'

printy

printx

printu'刪除Y中的值,觀察輸出'

y['test'].remove('c')

printy

printx

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

初始X字典:

{'test': ['a','b','c'],'three':3,'two':2,'one':1}

X復制到Y:

Y字典:

{'test': ['a','b','c'],'one':1,'three':3,'two':2}

修改Y中的值,觀察輸出:

{'test': ['a','b','c'],'one':1,'three':33,'two':2}

{'test': ['a','b','c'],'three':3,'two':2,'one':1}

刪除Y中的值,觀察輸出

{'test': ['a','b'],'one':1,'three':33,'two':2}

{'test': ['a','b'],'three':3,'two':2,'one':1}

>>>

註:在復制的副本中對值進行替換後,對原來的字典不產生影響,但是如果修改了副本,原始的字典也會被修改。deep函數使用深復制,復制其包含所有的值,這個方法可以解決由於副本修改而使原始字典也變化的問題。

# _*_ coding:utf-8 _*_

fromimportdeep

x={}

x['test']=['a','b','c','d']

y=x.()

z=deep(x)

printu'輸出:'

printy

printz

printu'修改後輸出:'

x['test'].append('e')

printy

printz

運算輸出:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

輸出:

{'test': ['a','b','c','d']}

{'test': ['a','b','c','d']}

修改後輸出:

{'test': ['a','b','c','d','e']}

{'test': ['a','b','c','d']}

>>>

3.3 fromkeys函數:使用給定的鍵建立新的字典,鍵默認對應的值為None

# _*_ coding:utf-8 _*_

d=dict.fromkeys(['one','two','three'])

printd

運算輸出:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':None,'two':None,'one':None}

>>>

或者指定默認的對應值

# _*_ coding:utf-8 _*_

d=dict.fromkeys(['one','two','three'],'unknow')

printd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':'unknow','two':'unknow','one':'unknow'}

>>>

3.4 get函數:訪問字典成員

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printd.get('one')

printd.get('four')

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

1

None

>>>

註:get函數可以訪問字典中不存在的鍵,當該鍵不存在是返回None

3.5 has_key函數:檢查字典中是否含有給出的鍵

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printd.has_key('one')

printd.has_key('four')

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

True

False

>>>

3.6 items和iteritems函數:items將所有的字典項以列表方式返回,列表中項來自(鍵,值),iteritems與items作用相似,但是返回的是一個迭代器對象而不是列表

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

list=d.items()

forkey,valueinlist:

  printkey,':',value

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

three :3

two :2

one :1

>>>

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

it=d.iteritems()

fork,vinit:

  print"d[%s]="%k,v

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

d[three]=3

d[two]=2

d[one]=1

>>>

3.7 keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printu'keys方法:'

list=d.keys()

printlist

printu'\niterkeys方法:'

it=d.iterkeys()

forxinit:

  printx

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

keys方法:

['three','two','one']

iterkeys方法:

three

two

one

>>>

3.8 pop函數:刪除字典中對應的鍵

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

d.pop('one')

printd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

{'three':3,'two':2}

>>>

3.9 popitem函數:移出字典中的項

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

d.popitem()

printd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':1}

{'two':2,'one':1}

>>>

3.10 setdefault函數:類似於get方法,獲取與給定鍵相關聯的值,也可以在字典中不包含給定鍵的情況下設定相應的鍵值

# _*_ coding:utf-8 _*_

d={'one':1,'two':2,'three':3}

printd

printd.setdefault('one',1)

printd.setdefault('four',4)

printd

運算結果:

{'three':3,'two':2,'one':1}

{'four':4,'three':3,'two':2,'one':1}

>>>

3.11 update函數:用一個字典更新另外一個字典

# _*_ coding:utf-8 _*_

d={

  'one':123,

  'two':2,

  'three':3

  }

printd

x={'one':1}

d.update(x)

printd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

{'three':3,'two':2,'one':123}

{'three':3,'two':2,'one':1}

>>>

3.12 values和itervalues函數:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由於在字典中值不是唯一的,所以列表中可以包含重復的元素

# _*_ coding:utf-8 _*_

d={

  'one':123,

  'two':2,

  'three':3,

  'test':2

  }

printd.values()

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======

[2,3,2,123]

>>>

❿ Python字典推導法,怎麼輸出嵌套字典

實際上各種推導式的本質就是for循環, 它們之間的區別只是取值方式的不同和表達式的不同
首先, 字典的取值方式有兩種: 按key取值, 使用get方法取值
其次, 字典推導式的表達式部分需要寫成 key:value 的形式
如果要使用字典推導式推導一個嵌套字典
例如:
infos = {"張三":{ "age":18, "salary":5000},
"李四":{"age":19, "salary":8000},
"王五":{ "age":20, "salary":6000}}
要從infos這個嵌套的字典中推導出一個形如{"張三":5000, "李四":8000, "王五":6000}的字典
首先可以考慮最內層的推導式:
names = [name for name in infos]
這樣就得到了一個姓名的列表: ["張三", "李四", "王五"]
再迭代這個列表, 生成字典的每一項, 於是字典生成式應該像下面這樣:
salary_dict = {name:薪資 for name in names}
在這里, 因為name正好是infos這個字典的key, 所以可以使用name從字典infos中取出對應的薪資, 於是有下面的形式:
salary_dict = {name:infos[name]["salary"] for name in names}
這里就用到的字典的用key取值的方式, 當然, 也可以用get方法取值, 例如下面的形式:
salary_dict = {name:infos.get(name).get("salary") for name in names}
這兩種方式都是可以的, 根據個人喜好選擇就好
為了顯得逼格更高, 可以把names的列表推導式和salary_dict的字典推導式結合起來, 於是就得到下面的形式:
salary_dict = {name:infos[name]["salary"] for name in (name for name in infos)}
到這里, 你會發現表達式里有好多name, 顯得非常重復, 實際上這里並不需要列表推導式, 直接從字典里迭代出來的key就是name了, 所以最終的形式如下:
salary_dict = {name:infos[name]["salary"] for name in infos}
這里為了得到一個比較簡單的結果而繞了一個大圈子, 是為了說明更加通用方法, 對於這個例子, 很容易就能得出結果的哈

熱點內容
圖色模擬腳本是什麼 發布:2025-01-22 09:09:04 瀏覽:164
怎麼重置銀行卡密碼 發布:2025-01-22 09:07:18 瀏覽:334
哪個平台雲伺服器好用 發布:2025-01-22 09:07:16 瀏覽:476
編程貓審判 發布:2025-01-22 08:54:17 瀏覽:142
明日之後怎麼加不同伺服器好友 發布:2025-01-22 08:51:08 瀏覽:206
php代碼格式化 發布:2025-01-22 08:50:22 瀏覽:180
db2plsql 發布:2025-01-22 08:19:10 瀏覽:779
豬豬俠腳本沒反應 發布:2025-01-22 08:08:37 瀏覽:812
賽博朋克跟永劫無間哪個配置高 發布:2025-01-22 08:07:07 瀏覽:535
請盡快上傳 發布:2025-01-22 08:06:22 瀏覽:189