溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的列表是什么?怎么用?

發(fā)布時間:2020-06-06 18:55:20 來源:億速云 閱讀:414 作者:Leah 欄目:編程語言

Python中的列表是什么?怎么用?這些問題可能是我們?nèi)粘9ぷ鲿姷降摹Mㄟ^這些問題,希望你能收獲更多。下面是揭開這些問題的詳細內(nèi)容。

Python中的列表是什么?怎么用?
  二、列表
  Python中最基本的數(shù)據(jù)結(jié)構是序列(sequence),序列中每個元素被分配一個序號——即元素的位置,也稱  為索引,第一個索引是0,最后一個元素索引標記為-1。
  Python中包含6種內(nèi)建序列:
  列表、元組、字符串、unicode字符串、buffer對象、xrange對象。
  2.1序列的操作
  所有序列類型都可以進行的特定操作如下:
  索引(indexing)
  分片(sliceing)
  加(adding)
  乘(multiplying)
  成員資格(檢查某個元素是否屬于序列)
  2.1.1.1索引
  序列中所有元素都是有編號的,從0開始遞增。元素可以通過編號進入訪問。
  實例:
  #!/usr/bin/python
  months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec']
  endings = ['st','nd','rd'] + 17* ['th'] + ['st','nd','rd'] + 7* ['th'] + ['st']
  year = raw_input("year: ")
  month = raw_input("month: ")
  day = raw_input("day: ")
  month_num = int(month)
  day_num = int(day)
  month_name = months[month_num-1] #索引
  day_ord = day + endings[day_num-1] #索引
  print month_name + ' ' + day_ord + ' ' + year
  輸入year: 2011
  month: 12
  day: 21
  輸出:Dec 21st 2011
  2.1.1.2分片
  使用索引可以訪問單個元素,使用分片可以訪問一定范圍內(nèi)的元素。
  分片需要提供兩個索引作為邊界,用冒號分隔兩個索引,第1個索引的元素包含在分片內(nèi),第二個索引的元素不包含在分片內(nèi),如:
  tag='http://www.python.org'
  tag[7:21]
  輸出:'www.python.org'
  注:tag[7:21],取第7到第20個字符。
  若想包含從第一個開始(或直到最后一個結(jié)束)的字符串,可以將前一個(或后一個)索引置空,如:tag[:5], tag[7:], tag[:]
  步長:分片中的第三個值(開始與結(jié)束索引之后)
  如:
  idx=[1,2,3,4,5,6,7,8,9,10]
  idx[::2] 輸出:[1, 3, 5, 7, 9]
  idx[::-1] 輸出:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  2.1.1.3序列加法
  兩種相同類型的序列才能進行連接操作,如:
  [1,2,3] + [4,5,6] 輸出:[1, 2, 3, 4, 5, 6]
  ‘hello’ + ’_’ + ‘world’ 輸出:’hello_world’
  不同類型序列不能相加,如:[1,2,3] + ‘hello’ 提示出錯
  2.1.1.4序列乘法
  數(shù)字x與序列相乘后,原序列被重復x次。
  [12] * 10 輸出:
  列表初始化,創(chuàng)建10個元素空間但沒有值:[None] * 10
  2.1.1.5成員資格
  in運算,檢查一個值是否在序列中。
  例1:
  users=['taobao', 'alibaba', 'root']
  input_name=raw_input('Enter your user name: ')
  if input_name in users:
  print input_name + ' is in users!'
  else:
  print 'Warning! ' + input_name + ' is not in users!'
  例2:
  db = [
  ['smith','4309'],
  ['jones','0921'],
  ['alber','8745'],
  ]
  username = raw_input('user name: ')
  pin = raw_input('pin code: ')
  if [username, pin] in db:
  print 'Access granted!'
  else:
  print 'Warning: username or pin is error!'

2.2列表的基本操作(三)
  列表與元組的區(qū)別:列表可以修改,元組不可以修改。
  列表的元素寫在方括號中,元素間用逗號隔開,如:edward = [‘Edward’,29,’hangzhou’]
 ?。?)元素賦值:如x[1]=0
 ?。?)刪除元素:
  names = [‘Alice’, ‘Beth’, ‘Earl’, ‘Dimdo’]
  del names[2]
  結(jié)果names = [‘Alice’, ‘Beth’, ‘Dimdo’]
 ?。?)分片賦值:
  可以一次為多個元素賦值:
  name = list(‘perl’)
  name[1:] = list(‘ython’)
  結(jié)果name = [‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]
  可以實現(xiàn)插入元素:
  num = [1, 5]
  num [1:1] = [2, 3, 4]
  結(jié)果num = [1, 2, 3, 4, 5]
  可以實現(xiàn)刪除元素:
  num = [1, 2, 3, 4, 5]
  num[2:4] = []
  結(jié)果num = [1, 2, 5]
  2.3列表的方法
  (1)append
  num = [1,2,3]
  num.append(4)
  結(jié)果 num = [1,2,3,4]
 ?。?)count
  x = [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
  x.count(‘to’)
  結(jié)果為2
 ?。?)extend
  a = [1, 2, 3]
  b = [4, 5, 6]
  a.extend(b)
  結(jié)果a = [1, 2, 3, 4, 5, 6]
 ?。?)index
  a=['who', 'am', 'i', '?']
  a.index('?')
  結(jié)果為3
 ?。?)insert
  num = [1, 2, 3, 4, 5]
  num.insert(3, ‘four’)
  結(jié)果num = [1, 2, 3, ‘four’, 4, 5]
  (6)pop:移除列表中的一個元素,并且返回該元素的值,如:
  x = [1, 2, 3]
  x.pop() 返回3
  x.pop(1) 返回2
  (7)remove:移除表中某個值
  x = [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
  x.remove(‘be’)
  結(jié)果 x = [‘to’, ‘or’, ‘not’, ‘to’, ‘be’]
 ?。?)reverse:將列表中的元素反向存放
  x = [1, 2, 3]
  x.reverse()
  結(jié)果 x = [3, 2, 1]
  (9)sort:對原列表進行排序,返回值為空
  x = [5, 1, 2, 4, 3, 6]
  y=x.sort()
  結(jié)果 x = [1, 2, 3, 4, 5, 6]
  y無值
  sorted()函數(shù):
  x = [5, 1, 2, 4, 3, 6]
  y=sorted(x)
  結(jié)果 x = [5, 1, 2, 4, 3, 6]
  y = [1, 2, 3, 4, 5, 6]
  (10)比較函數(shù)cmp():
  cmp(1,2) 返回-1
  cmp(1,1) 返回0
  cmp(2,1) 返回1

看完上述內(nèi)容,你們對Python中的列表有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI