日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础教程:列表字典的键值修改

發(fā)布時(shí)間:2025/3/20 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础教程:列表字典的键值修改 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

list (修改列表的索引值)

循環(huán)一個(gè)列表時(shí),最好不要對(duì)原列表有改變大小的操作,這樣會(huì)影響你的最終結(jié)果。

#使用負(fù)索引進(jìn)行修改列表 print('First') lis = [11, 22, 33, 44, 55] print(lis) for num in range(len(lis)-1,-1,-1):if num % 2 != 0: lis.pop(num) else:print(lis)#使用步長(zhǎng)進(jìn)行修改列表 print('Second') lis = [11, 22, 33, 44, 55] print(lis) del lis[1::2] print(lis)#添加新的列表進(jìn)行修改 print('Third') lis = [11, 22, 33, 44, 55] print(lis) new_lis = list() for num in range(len(lis)):if num % 2 == 0: new_lis.append(lis[num]) else:lis = new_lis print(lis)

dict

在循環(huán)中不可以改變字典的鍵值對(duì)(增加、刪除)
RuntimeError: dictionary changed size during iteration

dict.fromkeys()dic = {'k1': 'v1', 'k2': 'v2', 'name': 'alex'}

錯(cuò)誤的示范

''' Python學(xué)習(xí)交流,免費(fèi)公開課,免費(fèi)資料, 免費(fèi)答疑,系統(tǒng)學(xué)習(xí)加QQ群:531509025 '''for key in dic:if 'k' in key:dic.pop(key) print(dic)

修改字典的內(nèi)容需要把修改的鍵加入到空列表然后遍歷修改字典的值

l1 = list() for key in dic:if 'k' in key:l1.append(key) print(l1) for key in l1:dic.pop(key) print(dic)

ValueError: unknown locale: UTF-8

File "/Users/wyl/Documents/effectmatrix/program/minetest/MCEdit-Unified-master/ENV/lib/python2.7/locale.py", line 545, in getdefaultlocalereturn _parse_localename(localename)File "/Users/wyl/Documents/effectmatrix/program/minetest/MCEdit-Unified-master/ENV/lib/python2.7/locale.py", line 477, in _parse_localenameraise ValueError, 'unknown locale: %s' % localenameValueError: unknown locale: UTF-8

解決方法:

1.在.bash_profile文件中加入

export LANG="en_US.UTF-8"export LC_COLLATE="en_US.UTF-8"export LC_CTYPE="en_US.UTF-8"export LC_MESSAGES="en_US.UTF-8"export LC_MONETARY="en_US.UTF-8"export LC_NUMERIC="en_US.UTF-8"export LC_TIME="en_US.UTF-8"

2.source 使用更新后的內(nèi)容

source .bash_profile

測(cè)試

python -c 'import locale; print(locale.getdefaultlocale());'

異常處理

異常名稱描述
BaseException所有異常的基類
SystemExit解釋器請(qǐng)求退出
KeyboardInterrupt用戶中斷執(zhí)行(通常是輸入^C)
Exception常規(guī)錯(cuò)誤的基類
StopIteration迭代器沒有更多的值
GeneratorExit生成器(generator)發(fā)生異常來通知退出
StandardError所有的內(nèi)建標(biāo)準(zhǔn)異常的基類
ArithmeticError所有數(shù)值計(jì)算錯(cuò)誤的基類
FloatingPointError浮點(diǎn)計(jì)算錯(cuò)誤
OverflowError數(shù)值運(yùn)算超出最大限制
ZeroDivisionError除(或取模)零 (所有數(shù)據(jù)類型)
AssertionError斷言語句失敗
AttributeError對(duì)象沒有這個(gè)屬性
EOFError沒有內(nèi)建輸入,到達(dá)EOF 標(biāo)記
EnvironmentError操作系統(tǒng)錯(cuò)誤的基類
IOError輸入/輸出操作失敗
OSError操作系統(tǒng)錯(cuò)誤
WindowsError系統(tǒng)調(diào)用失敗
ImportError導(dǎo)入模塊/對(duì)象失敗
LookupError無效數(shù)據(jù)查詢的基類
IndexError序列中沒有此索引(index)
KeyError映射中沒有這個(gè)鍵
MemoryError內(nèi)存溢出錯(cuò)誤(對(duì)于Python 解釋器不是致命的)
NameError未聲明/初始化對(duì)象 (沒有屬性)
UnboundLocalError訪問未初始化的本地變量
ReferenceError弱引用(Weak reference)試圖訪問已經(jīng)垃圾回收了的對(duì)象
RuntimeError一般的運(yùn)行時(shí)錯(cuò)誤
NotImplementedError尚未實(shí)現(xiàn)的方法
SyntaxErrorPython 語法錯(cuò)誤
IndentationError縮進(jìn)錯(cuò)誤
TabErrorTab 和空格混用
SystemError一般的解釋器系統(tǒng)錯(cuò)誤
TypeError對(duì)類型無效的操作
ValueError傳入無效的參數(shù)
UnicodeErrorUnicode 相關(guān)的錯(cuò)誤
UnicodeDecodeErrorUnicode 解碼時(shí)的錯(cuò)誤
UnicodeEncodeErrorUnicode 編碼時(shí)錯(cuò)誤
UnicodeTranslateErrorUnicode 轉(zhuǎn)換時(shí)錯(cuò)誤
Warning警告的基類
DeprecationWarning關(guān)于被棄用的特征的警告
FutureWarning關(guān)于構(gòu)造將來語義會(huì)有改變的警告
OverflowWarning舊的關(guān)于自動(dòng)提升為長(zhǎng)整型(long)的警告
PendingDeprecationWarning關(guān)于特性將會(huì)被廢棄的警告
RuntimeWarning可疑的運(yùn)行時(shí)行為(runtime behavior)的警告
SyntaxWarning可疑的語法的警告
UserWarning用戶代碼生成的警告

序列化注意事項(xiàng):

  • json: 傳入傳出為字符串
  • 文件打開使用’r’模式
  • 只能寫一行
  • 只支持字典
json.dumps(data,sort_keys=True,indent=2,separators=(',',':'),ensure_ascii=False)#sort_keys 排序 #indent 縮進(jìn) #separators 分隔符 #ensure_ascii 支持中文
  • pickle:傳入傳出為bytes類型
  • 文件打開使用’rb’模式
  • 支持任意類型
''' Python學(xué)習(xí)交流,免費(fèi)公開課,免費(fèi)資料, 免費(fèi)答疑,系統(tǒng)學(xué)習(xí)加QQ群:531509025 '''print(pickle.loads(b'\x80\x03}q\x00X\x01\x00\x00\x001q\x01K\x04s.'))#字符串的格式為'bytes',不是需要'encode()'
  • shelve:打開文件的參數(shù)增加’writeback=True’防止寫入失敗
  • 支持字典
import shelve f = shelve.open('c',writeback=True) #創(chuàng)建文件 #writeback = True 回寫

總結(jié)

以上是生活随笔為你收集整理的Python基础教程:列表字典的键值修改的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。