1. python 報錯TypeError: tuple indices must be integers or slices, not str 怎麼解決
錯誤原因:
元祖的索引必須是整數或者切片,不能是字元,通過pymysql訪問資料庫,並查詢數據
解決方法:
把Cursor關鍵字替換成DictCursor關鍵字。
ictCursor的這個功能是繼承於CursorDictRowsMixIn,在默認情況下cursor方法返回的是BaseCursor類型對象,BaseCursor類型對象在執行查詢後每條記錄的結果以列表(list)表示。如果要返回字典(dict)表示的記錄,就要設置cursorclass參數為MySQLdb.cursors.DictCursor類。
這個參數也可在調用connect方法建立連接時設置,如下:
>>> conn = MySQLdb.connect(host='192.168.1.103', port=3306, user='testacc', pass
wd='test1234', db='1dcq', cursorclass=MySQLdb.cursors.DictCursor)
>>>conn.close()
例子:
>>> import MySQLdb
>>> conn = MySQLdb.connect(host='192.168.1.103', port=3306, user='testacc',
passwd='test1234', db='1dcq')
>>> cursor = conn.cursor()
>>> cursor.execute('SELECT * FROM pagesobject LIMIT 0, 1')
2. 十 數據類型
1、int:123456....用於計算
2、bool:True、False。用戶判斷。『
3、str:存儲少量數據,進行操作
4、list:列表。百萬級、千萬級。[]
5、元祖:只讀列表。()
6、字典:鍵值對組成。{}
7、集合:
1、.bit_length()
轉換為二進制最少的位數
輸出
表示True、False。
1、int類型和bool值轉換
2、bool值和int類型轉換
應用: 寫while語句時候需要用到while True。運行的時候True需要轉換成1去運行。如果直接寫while 1:運行速度更快,效率更高。
3、str和bool轉換
1、字元串的索引與切片
1.1.索引:既字元的佔位,不影響原本值。從零開始。負數為從後開始從-1開始。
1.2.切片:顧頭不顧腚原則
序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
1、增 append insert extend
①append
②insert
③extend
2、刪 pop remove clean del
①pop安裝索引刪除
②remove 按照元素刪除
③clean 清空
④del 直接清空變數或者切片刪除
3、改
①根據索引改
②根據切片改
4、查
①
②查每個元素
5、公共方法
①len 列表元素
②count 出現次數
②inde索引
③sort 排序
·(正)
·(倒)
④reverse (列表倒敘顯示)
元祖為只讀列表,不可以修改,但是元祖里的列表可以修改。
優點:二分法查找。查詢速度快。存儲大量的關系型數據。
①有覆蓋無增加
②無增加,有不動
①pop 有返回值(可以返回值,不會報錯)
②popitem 隨機刪除
③clear清空字典
④刪除字典del
①
②update 有覆蓋,沒有添加
1、
2、get
3. python中列表和元組之間有什麼區別
除了元組是不可變的之外,還應有語義上的區別來指導它們的用法。元組是異構數據結構(即它們的條目具有不同的含義),而列表是同類序列。元組具有結構,列表具有順序。
使用這種區別可以使代碼更加明確和易於理解。
一個示例是成對的頁和行號,以成對參考書中的位置,如:
my_location = (42, 11) # page number, line number
然後,可以將其用作字典中的鍵來存儲有關位置的注釋。另一方面,列表可用於存儲多個位置。自然地,人們可能想在列表中添加或刪除位置,因此使列表可變是有意義的。另一方面,從現有位置添加或刪除項目沒有意義-因此,元組是不可變的。
在某些情況下,可能想更改現有位置元組中的項目,例如在頁面的各行中進行迭代時。但是元組不變性迫使您為每個新值創建一個新的位置元組。從表面上看,這似乎很不方便,但是使用這樣的不可變數據是值類型和函數式編程技術的基石,它可以具有很多優點。
官方Python文檔也提到了這一點
「組是不可變的,並且通常包含一個異類序列…」。
在像Haskell這樣的靜態類型語言中,元組中的值通常具有不同的類型,並且元組的長度必須固定。在列表中,所有值都具有相同的類型,並且長度不是固定的。因此區別非常明顯。