列表 字典

一、列表

1.定義:

  • ?stus = ["s1","s2","s3","s4","s5","s6","s7"]? #List 列表 數組

? ? ? ? ? ? 用中括號定義,逗號隔開

stus2 = [] #空的列表
stus3 = list() #空的列表 ?【定義空的列表便于往里邊添加數據】

?2.增加:

  • stus.append("bai") #在list末尾增加一個元素
  • stus.insert(0,"yu") #在指定位置增加元素
  • stus.insert(9,"nn") #指定的下標不存在,那么會把元素插入到最后
    print(stus)

運行結果:['s1', 's2', 's3', 's4', 's5', 's6', 's7', 'bai']

? ? ? ? ? ? ? :['yu', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 'bai']

?

3.查:

  • print(stus[3]) #單個取
    print(stus[-1]) #取最后一個元素

4.改:

  • stus[0]="baibai" 
    print(stus)

運行結果:['baibai', 's2', 's3', 's4', 's5', 's6', 's7']

?

5.刪除:

  • stus.pop()  #默認刪除list里面最后一個元素
    stus.pop(2) #刪除指定位置的元素
    stus.pop(9) #刪除指定不存在的元素,會報錯

?報錯信息:IndexError: pop index out of range

  • del stus[0] #刪除指定位置的元素
    print(stus)
  • stus.remove('s4')#刪除指定名稱的元素
    print(stus)
  • stus.remove('s5')#如果list里面有多個一樣的元素,那么就只會刪掉一個
    stus.remove('gg')#刪除不存在的元素,會報錯
    print(stus)

報錯信息:

stus.remove('gg')
ValueError: list.remove(x): x not in list

?

6.list其他常用方法

  • new_stus = stus.copy() #復制一個新list
    print(new_stus)
  • count = stus.count('s5') #某個元素在list里面的數量
  • stus.clear() #清空list
  • news_stus = stus.copy() #復制一個
    print(news_stus)
stus = ['s1','s2','s3','s3','s4','s5','s5']
  • stus.reverse()#反轉
    print(stus)

運行結果:['s5', 's5', 's4', 's3', 's3', 's2', 's1']

?

stus = ['1','2','4','3','9','14','5']
  • stus.sort()#正序排序
      print(stus)
  • stus.sort(reverse=True) #倒序排序
      print(stus)

運行結果:['1', '14', '2', '3', '4', '5', '9']
['9', '5', '4', '3', '2', '14', '1']

反轉的運行結果:['5', '14', '9', '3', '4', '2', '1']

  • stus.extend(stus1) #把一個list的元素加入另一個list里面
    print('extend',stus)

運行結果:extend ['s1', 's2', 's3', 's3', 's4', 's5', 's5', '1', '2', '4', '3', '9', '14', '5']

  • result = stus.index('s8')#查找列表中某個元素的下標
    print(result)
    #查找列表中不存在的元素 會報錯

7.多維數組

 1 num1 = [1,2,3,4,['a','b','c','d']] #2維數組
 2 num2 = [1,2,3,4,['a','b','c','d',['dev','test','pre']]] #3維數組
 3 
 4 print(num2[4][4][2])
 5 運行結果:pre
 6 
 7 列表循環
 8 stus = ['baibai','chenquan','niunihu']
 9 第一種方法:
10 #username=''
11 password='123456'
12 #sql='insert into user(username,password) value ("%s","%s");'%(username,password)
13 
14 index = 0
15 while index < len(stus):
16     username = stus[index]
17     username = 'szz-'+ username
18     sql = 'insert into user(username,password) value ("%s","%s");' % (username, password)
19     print(sql)
20     index+=1
21 
22 運行結果:insert into user(username,password) value ("szz-baibai","123456");
23                  insert into user(username,password) value ("szz-chenquan","123456");
24                  insert into user(username,password) value ("szz-niunihu","123456");
25 
26 第二種方法:【最簡單的方法】
27 stus = ['baibai','chenquan','niunihu'] #for循環直接循環一個list,就是取list里面的每一個元素
28 for stu in stus:
29     print('每次循環的值',stu)
30     username = 'szz' + stu
31     print(username)
32 
33 第三種方法:
34 l = list(range(3))
35 print(l)
36 
37 for i in range(len(stus)): #這種方法也相當于是用下標取值
38     username = stus[i]
39     print(username)

?

8.list練習:賬戶和密碼登錄

 1 usernames = ['baibai','yaya','cc','niuniu']
 2 passwords = ['123456','abc123','324324','45656']
 3 
 4 #需要校驗 用戶不存在的話 要提示
 5 #需要校驗是否為空
 6 #賬戶密碼正確登錄成功
 7 
 8 #最多輸入三次
 9 #分析:
10 #1、輸入賬戶密碼
11 #2、校驗是否輸入為空
12 #3、校驗賬戶否存在 list.count()
13 #4、從usernames里面找到user的下標,然后去password中去找對應的密碼
14 today = '2019-03-25'
15 count = 0
16 while count < 3:
17     count+=1
18 #for i in range(3):      #for和while都可以  
19     username = input('username:').strip()
20     password = input('password:').strip()
21     if username == '' or password == '':
22         print('賬戶/密碼不能為空!')
23     #elif usernames.count(username)==0: #判斷元素的個數
24     elif username not in usernames: #兩種方法都可以 判斷元素是否在某個list里面
25         print('用戶名不存在!')
26     else:
27         user_index = usernames.index(username) #登錄用戶的下標
28         p = passwords[user_index]
29         if password == p:
30             print('歡迎%s登錄,今天的日期是%s.'%(username,today))
31             break
32         else:
33             print('密碼錯誤!')
34 else:
35     print('錯誤次數已經用盡')

?

9.字典

 1 stu_info = {
 2     'username':'baibai',
 3     'password':'123456',
 4     'money':20,
 5     'addr':'北京'
 6 }
 7 
 8 #定義字典
 9 d1 = {} #創建空字典
10 d2 = dict() #創建空字典
11 
12 #增加元素
13 d1['name'] = '胖妞'
14 d1['age'] = 18
15 d1.setdefault('class','雙子座')
16 print('之前的',d1)
17 
18 d1.setdefault('age','38')
19 #如果使用setdefault,key已經存在了,就不會修改原來key的值
20 
21 #修改
22 d1['name'] = '胖妞2'
23 print('之后的',d1)
24 
25 #取值
26 print(d1['name'])
27 print(d1.get('name'))
28 
29 print(d1['y'])#取一個不存在的key,報錯keyError
30 print(d1.get('y'))#取一個不存在的key,返回none
31 
32 print(d1.get('kk',0))#不存在的值 返回0,默認返回none
33 
34 print(d1.keys()) #取到字典里面所有的key
35 print(d1.values()) #取到字典里面所有的value
36 運行結果:dict_keys(['name', 'age', 'class'])
37                  dict_values(['胖妞2', 18, '雙子座'])
38 
39 #刪除
40 d1.pop('name')
41 del d1['name']
42 d1.popitem()#隨機刪除一個元素
43 print(d1)
44 
45 d1.clear()#清空
46 print(d1)
47 運行結果:{}
48 
49 d2 = {'abc':1234}
50 d1.update(d2) #把字典2加到字典1里邊
51 print(d1)
52 運行結果:{'name': '胖妞2', 'age': 18, 'class': '雙子座', 'abc': 1234}

?

10.字典循環

 1 stus =[
 2     {'name':'bai','age':'17','addr':'北京'},
 3     {'name':'yaya','age':'23','addr':'上海'},
 4     {'name':'hu','age':'25','addr':'北京'},
 5     {'name':'wawa','age':'26','addr':'北京'},
 6        ]
 7 
 8 for stu in stus:
 9     stu['phone']='110'
10 print(stus)
11 
12 運行結果:[{'name': 'bai', 'age': '17', 'addr': '北京', 'phone': '110'}, {'name': 'yaya', 'age': '23', 'addr': '上海', 'phone': '110'}, {'name': 'hu', 'age': '25', 'addr': '北京', 'phone': '110'}, {'name': 'wawa', 'age': '26', 'addr': '北京', 'phone': '110'}]
13 
14 stus = {
15     "":
16         {
17             "house":['三環','四環','五環'],
18             "car":{
19                 "日本":["雷克薩斯","英菲尼迪"],
20                 "中國":["五菱宏光","紅旗","比亞迪","寶駿"],
21                 "美國":["福特","凱迪拉克"]
22             },
23             "化妝品":{
24                 "SK-2":1000,
25                 "YSL":2000
26             }
27         }
28 }
29 
30 #統計一下白總用有多少輛車
31 #白又買了德國車2輛,奧迪,奔馳
32 #白的化妝品全被男朋友扔了
33 
34 car = stus[""]['car']
35 
36 count_car = 0
37 for c in car.values():
38     count_car = len(c)+ count_car
39 print(count_car)
40 運行結果:8
41 
42 car = stus[""]['car']
43 car["德國"]=["奧迪","奔馳"]
44 print(car)
45 運行結果:{'日本': ['雷克薩斯', '英菲尼迪'], '中國': ['五菱宏光', '紅旗', '比亞迪', '寶駿'], '美國': ['福特', '凱迪拉克'], '德國': ['奧迪', '奔馳']}
46 
47 del stus['']['化妝品']
48 print(stus)
49 運行結果:{'': {'house': ['三環', '四環', '五環'], 'car': {'日本': ['雷克薩斯', '英菲尼迪'], '中國':['五菱宏光', '紅旗', '比亞迪', '寶駿'], '美國': ['福特', '凱迪拉克']}}}
50 
51 ###第二種增加車的方式,沒有上邊那種方便
52 car = stus[""]['car']
53 new_car ={"德國":["benchi","bmw"]}
54 car.update(new_car)
55 print(car)
56 運行結果:{'日本': ['雷克薩斯', '英菲尼迪'], '中國': ['五菱宏光', '紅旗', '比亞迪', '寶駿'], '美國': ['福特', '凱迪拉克'], '德國': ['benchi', 'bmw']}

?

轉載于:https://www.cnblogs.com/baiby/p/10655483.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449236.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449236.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449236.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL執行外部sql腳本文件的命令( source命令執行sql )

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 sql腳本是包含一到多個sql命令的sql語句&#xff0c;我們可以將這些sql腳本放在一個文本文件中&#xff08;我們稱之為“sql腳本文件”&…

【案例】數據量猛增,BI分析效率太低怎么破?

2019獨角獸企業重金招聘Python工程師標準>>> 近日&#xff0c;Apache Kylin Innovation Meetup 在上海成功舉辦&#xff0c;有近200位小伙伴來到了現場。此次會議特別邀請到了金融、互聯網等行業的技術伙伴分享了 Kylin 在行業中的實操應用 。今天將首先與大家分享演…

2020-3-25

題目一&#xff1a; JavaScript 數組隨機不重復元素 實際應用可能需要從數組元素中隨機取出幾個元素&#xff0c;并且要保證這幾個元素不重復。 有些數組可能有重復的元素&#xff0c;那么可能需要首先去除這些重復的元素。 代碼與解析&#xff1a; var theArray[1,3,2,4,5,9,…

人生要小心處理的事

被人羞辱——翻臉不如翻身生氣不如爭氣 有個成語叫做“惱羞成怒”&#xff0c;意思就是說&#xff0c;由于羞愧和惱恨而發怒。被人無情羞辱&#xff0c;只要是有自尊心的人都會憤怒&#xff0c;但問題是&#xff0c;憤怒過后你還會剩下什么?你是馬上報復&#xff0c;以牙還牙;…

刷新SWAP分區方法

Linux VPS的使用過程中&#xff0c;SWAP交換分區是一個很重要系統緩存分區。他是在內存不夠用的情況下&#xff0c;從硬盤中臨時分出一部分空間系統當做內存使用。但是&#xff0c;如果SWAP的占用超過30%的時候&#xff0c;系統的性能就會受到影響&#xff0c;這時候就要刷新SW…

您收到一封 2019 阿里云峰會 (北京) 邀請函

為什么80%的碼農都做不了架構師&#xff1f;>>> 摘要&#xff1a; 阿里云峰會&#xff08;北京&#xff09;開發者專場以“云原生和可見的云未來”為主題&#xff0c;不僅涵蓋 2 場重大發布&#xff0c;更設置人工智能、機器學習、實時計算、云原生實踐等國內外最熱…

解決Based on configured schedule, the given trigger ‘triggerGroupName_FREEZE_JOB.triggerName_FREEZE...

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題、如下&#xff1a; Caused by: org.quartz.SchedulerException: Based on configured schedule, the given trigger triggerG…

2020-3-26

題目一&#xff1a; JavaScript 獲取第n個li元素 下面有兩種方法 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <style type"text/css"> ul{list-style:none} </style> <script> window.onloadfunct…

Django路由(url)

1.基本配置 from django.conf.urls import urlfrom . import viewsurlpatterns [url(r^articles/2003/$, views.special_case_2003),url(r^articles/([0-9]{4})/$, views.year_archive),url(r^articles/([0-9]{4})/([0-9]{2})/$, views.month_archive),url(r^articles/([0-9]{…

熟悉,不等于能力

我們經常會看到有些人做事情非常熟練&#xff0c;不但快手快腳&#xff0c;而且不慌不忙、氣定神閑。心中不禁油然產生欽佩之情&#xff0c;同時也認為他的能力很好。 只要假以時日&#xff0c;每個人都能夠從生手變熟手&#xff0c;同時是品質效率很好的“熟手” 對一樣事情…

高性能、高可靠分布式文件系統 go-fastdfs v1.2.0 發布

開發四年只會寫業務代碼&#xff0c;分布式高并發都不會還做程序員&#xff1f; go-fastdfs是一個基于http協議的分布式文件系統&#xff0c;它基于大道至簡的設計理念&#xff0c;一切從簡設計&#xff0c;使得它的運維及擴展變得更加簡單&#xff0c;它具有高性能、高可靠、…

mysql格式化小數保留小數點后兩位(小數點格式化)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。在做項目的時候遇到一個問題&#xff0c;MYSQL格式化浮點數&#xff0c;保留兩位小數點的問題。以下為個人在網上搜索普遍的答案&#xff…

2020-3-27

題目一&#xff1a; 通常情況下都從字符串的左邊開始截取字符串&#xff0c;下面該如何從字符串的右邊截取字符串。 代碼如下 String.prototype.rightfunction(length_) { //獲取字符串長度var _fromthis.length-length_; //截取后的字符串長度if(_from<0) _from0; ret…

zookeeper安裝教程

1 安裝環境 centos 7.4 jdk 1.8 zookeeper是java開發的&#xff0c;可以運行再windows,linux環境。 安裝之前需要先安裝號jdk. jdk的安裝可以參見博文&#xff1a;http://www.cnblogs.com/jepson6669/p/8374699.html 2 安裝過程 1 上傳文件到Linux上 2 安裝 1 解壓到/usr/local…

讀人、看人、做人(圖)

讀人 一個人就是一本書。讀人&#xff0c;比讀其他文字的書更難。在生活中&#xff0c;每個人都是書&#xff0c;每人又都是讀者。我們認認真真地讀&#xff0c;讀了大半輩子&#xff0c;至今還沒有讀懂這本“人之書”。有首歌詞是這樣的&#xff1a;“明明白白我的心&#…

2020-3-28

題目一&#xff1a; 數組最大值和最小值 可以對數組進行一次遍歷&#xff0c;通過比較&#xff0c;找到其最大&#xff08;最小&#xff09;值。或者使用簡單的方法 Array.prototype.sort: var a [7,3,4,6,10]; a.sort(function(a,b){ return (a-b);}) console.log(a[0],a…

Python操作Excel刪除一個Sheet

在使用Python進行數據分析處理&#xff0c;操作Excel&#xff0c;有時需要刪除某個Excel里的某個sheet&#xff0c;這里記錄一個我測試成功的一個辦法 軟件環境&#xff1a; 1、OS&#xff1a;Win 10 64位 2.Python 3.7 3、使用openpyxl這個庫 4、在當前文件夾下準備一個xlsx格…

什么是 NoSQL 數據庫、NoSQL 與 SQL 的區別

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 NoSQL 數據庫是針對可擴展性能和無架構數據模型進行了優化的非關系數據庫。 NoSQL 數據庫也因其易于開發、延遲低且具有彈性而得到廣泛…

mysql 索引的統計

查看一個庫里面沒有使用過的索引select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_schemabocat and count_star0 and count_read0and object_name no…

2020-3-29

題目一&#xff1a; JavaScript 獲取div在頁面中坐標 以div為例&#xff0c;獲取一個元素在頁面中的位置。 代碼和 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <style type"text/css"> *{padding:0px;margin:0…